-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
While building cryptography 42.0 in conda-forge, the macos jobs are failing with:
Undefined symbols for architecture x86_64:
"_getentropy", referenced from:
std::sys::unix::rand::hashmap_random_keys::h694f1d109e8c2473 in libstd-f4038c6a2122598b.rlib(std-f4038c6a2122598b.std.69f244de2863e905-cgu.0.rcgu.o)
ld: symbol(s) not found for architecture x86_64
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
This is easily fixed by upgrading the MacOS deployment target; I would be the first to celebrate ecstatically once we finally shoot MacOS<10.13 to the moon, but for now, the default in conda-forge is still 10.9. However, we actually already announced that we're moving to 10.13 last August, so the only reason that this hasn't happened yet at scale is some painfully deep infrastructure work. Still, it'd be perfectly legitimate to just raise our target version in response to this.
The reason I'm opening this issue at all, is that, while searching to find out which MacOS version introduced support for _getentropy
(10.12, AFAICT), I stumbled across this comment by @alex on a related issue:
Our next release uses weak linkage to ensure that no matter what macOS version a wheel is built on, it will work fine on any supported macOS. This can be closed.
Even though that comment is going on 7 years old, I thought I'd at least ask if that is something that should still be working according to you. Personally, I wouldn't want you to waste any time on supporting ancient MacOS versions, so I really don't mind if the answer is no.