collective/buildout.python

macOS Mojave / 10.14 support

hannosch opened this issue · 2 comments

I've added the version detection bits to supprt macOS Mojave / 10.14 in 92fb8f9.

This currently results in a Python version without ssl, hashlib, zlib and a few others support, so pretty much everything beyond a basic interpreter is broken.

In order to even get there, you need to opt-in to the macOS beta, than go to your Apple developer program downloads and manually install XCode 10, which gets installed into /Applications/Xcode-beta.app along side a former XCode 9.x install.

Than activate the XCode beta and install the command line tools:

sudo xcode-select -switch /Applications/Xcode-beta.app
xcode-select --install

Next up is Homebrew, I did a brew leaves > installed.txt, reinstall brew, install individual projects again. Currently there are no pre-compiled versions, so anything you install gets compiled from scratch.

Make sure to run brew doctor, as it'll point out issues like not using XCode 10.

Still after all of this, Python won't find the required headers/includes for a bunch of C libraries. Our SSL setup patch applies cleanly, but doesn't seem to be enough. During the Python build process, there's also a warning about the OpenSSL version (Homebrew openssl@1.1: 1.1.0h) not being new enough and lacking support for a specific API required by Python.

I haven't dug into any of the other issues, but so far I'd advise anyone who needs a working Python to stay away from the macOS beta.

brew doctor now tells you to manually install the SDK headers package at /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg. This might solve the missing headers/libraries for things like sqlite.

Manually installing the headers seems to be a requirement, afterwards it all just works.