Supongo que debido al hecho de que Big Sur está lanzando nuevas revisiones para el nuevo sistema operativo aún no se han producido. Al intentar instalar módulos que usan clang para la compilación, aparece el siguiente error:
clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.0'Actualmente en ejecución:
pyenv Múltiples módulos tienen dependencias clang , por lo que parece que este error es bastante común. Un ejemplo:
pip install multidictLa instalación de versiones anteriores de Command Line Tools (p. ej., 11.5) no funciona tan bien.
Averigua el problema por mi parte.
Previamente, había instalado XCode desde App Store (11.7) y configuré sus SDK como predeterminados:
sudo xcode-select --switch /Applications/Xcode.app/ Sin embargo, parece que esto viene con una versión no compatible de clang :
λ clang --version Apple clang version 11.0.3 (clang-1103.0.32.62) Target: x86_64-apple-darwin20.1.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin Configuración de xcode-select a la última versión a través de:
sudo xcode-select --switch /Library/Developer/CommandLineToolsEDITAR (15/11/2020)
Es posible que reciba un error al intentar el cambio anterior:
xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'Para solucionar esto, debe instalar las herramientas de línea de comandos más recientes del sitio web oficial de Apple aquí . Al momento de escribir esta edición, instalé Command Line Tools para Xcode 12.3 beta .
Los cambios clang a una versión de trabajo:
λ clang --version Apple clang version 12.0.0 (clang-1200.0.32.2) Target: x86_64-apple-darwin20.1.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin El SDK integrado de Big Sur es la versión 10.15 , que parece funcionar sin problemas:
λ ls /Library/Developer/CommandLineTools/SDKs MacOSX.sdk MacOSX10.15.sdk Después del cambio, multidict se instaló correctamente.
λ pip install multidict Collecting multidict Downloading multidict-4.7.6-cp38-cp38-macosx_10_14_x86_64.whl (48 kB) |████████████████████████████████| 48 kB 589 kB/s Installing collected packages: multidict Successfully installed multidict-4.7.6Investigaciones posteriores parecen indicar que esta es una elección de diseño de Apple ( fuente ):
Por lo tanto, asegurarse de que su SDK sea el predeterminado listo para usar en lugar del nuevo SDK de XCode debería ser suficiente para que el sistema cambie de contexto cuando sea necesario (y parece funcionar bien con pip + clang ).
en mi caso, tuve que eliminar /Library/Developer/CommandLineTools y volver a instalar las herramientas de línea de comandos
% sudo rm -rf /Library/Developer/CommandLineTools % sudo xcode-select --install % clang --version Apple clang version 12.0.0 (clang-1200.0.32.27) Target: x86_64-apple-darwin20.1.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/binYa había eliminado y reinstalado la CLI de xtools, pero el error persistía.
Todo lo que necesitaba hacer era
export SYSTEM_VERSION_COMPAT=1entonces el error se fue
Me gustaría extender la excelente respuesta de @Felipe; si no funciona ni con correr
>>> softwareupdate --all --install --force Software Update Tool Finding available software No updates are available....siguiendo la sabiduría del "doctor casero" lo resuelve, es decir, elimine y vuelva a instalar:
sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --installEn mi caso, eliminé CLT y LLVM y configuré XCode recién compilado.
% sudo rm -rf /Library/Developer/CommandLineTools % sudo xcode-select --switch /Applications/Xcode.app % brew uninstall llvm # if installed via brew % clang --version Apple clang version 12.0.0 (clang-1200.0.32.28) Target: x86_64-apple-darwin20.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bingcc y g++ ahora se compilan sin ningún error.