New submission from Ned Deily <n...@python.org>:
When building on macOS 11 (beta), a number of modules that should normally build on macOS fail because the system-supplied third-party libraries are not found. The necessary bits to build these optional modules were not found: _bz2 _curses _curses_panel _gdbm _hashlib _lzma _ssl ossaudiodev readline spwd zlib The list should look like this (with no additional third-party libs supplied from another source like Homebrew or MacPorts): The necessary bits to build these optional modules were not found: _gdbm _hashlib _ssl ossaudiodev spwd The problem is due to a change in the 11 beta versus 10.15 or earlier systems: "New in macOS Big Sur 11 beta, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check for the library in the cache." This breaks tests in setup.py using find_library_file() to determine if a library is present and in what directory it exists. setup.py depends on Lib/distutils/unixccompiler.py to do the dirty work. A similar problem arose on earlier macOS releases when header files could no longer be installed in the systems /usr/include; setup.py had to be taught to look in the SDK being used implicitly or explicitly by the compiler preprocessor. We could probably do something like that here while trying to avoid changes that might break downstream supplements/replacements to distutils, for example, setuptools. There is a workaround: explicitly specify the SDK location to ./configure (you also need to specify the universal archs setting): ./configure \ --enable-universalsdk=$(xcodebuild -version -sdk macosx Path) \ --with-universal-archs=intel-64 \ ... ---------- components: macOS messages: 372379 nosy: ned.deily, ronaldoussoren priority: high severity: normal status: open title: build on macOS 11 (beta) does not find system-supplied third-party libraries versions: Python 3.10, Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41116> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com