g cc не удалось найти файлы заголовков на ma c os catalina - PullRequest
0 голосов
/ 06 мая 2020

Я устанавливаю пакет (называемый CLASS, широко используемый в космологии), который нельзя скомпилировать с Apple g cc.

Я пробовал установить g cc с помощью homebrew (g cc -9) и anaconda отдельно. Но оба они не смогли найти стандартные файлы C -библиотеки, такие как stdio.h, math.h et c. Я видел эту проблему очень часто в ma c. Я нашел стандартные C -библиотечные файлы в /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/. Ориентируясь на anaconda g cc (версия 4.8.5), я скопировал файлы в /Users/satadru/anaconda2/include/. Теперь простые коды C, такие как код hello world, работают нормально. Но когда я попытался установить пакет CLASS, я получил ошибку из-за проблем с файлами библиотеки c: stdio.h, math.h !! Я получаю ту же ошибку, когда пытаюсь установить пакет с помощью homebrew g cc -9 (после копирования файлов библиотеки в соответствующий каталог). Я знаю, что многие люди могут запустить пакет на catalina без каких-либо проблем.

Теперь у меня есть следующие вопросы:

  1. Все ли стандартные C -библиотечные файлы заголовков тем же? Другими словами, будь то anaconda g cc 4.8.5 или g cc -9, файлы заголовков такие же? Различаются ли файлы заголовков в разных ОС, например linux или ma c os?

  2. Ищет ли anaconda g cc файлы заголовков по адресу /Users/satadru/anaconda2/include/?

  3. Перед копированием всех файлов заголовков в /Users/satadru/anaconda2/include/ в каталоге было несколько файлов. Почему установка anaconda g cc не помещает все свои собственные файлы заголовков в этот каталог во время установки? То же самое, когда мы делаем это на linux os?

  4. Как решить мою проблему? Я связался с владельцем пакета, и он сказал, что сам запускает код на ma c os catalina, но никогда не сталкивался с этой проблемой.

Дополнительная информация:

xcode-select --install

дает

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

which gcc дает /Users/satadru/anaconda2/bin/gcc

gcc -v дает

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/Users/satadru/anaconda2/bin/../libexec/gcc/x86_64-apple-darwin11.4.2/4.8.5/lto-wrapper
Target: x86_64-apple-darwin11.4.2
Configured with: ./configure --prefix=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-gxx-include-dir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/gcc/include/c++ --bindir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin --datarootdir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/share --libdir=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib --with-gmp=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-mpfr=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-mpc=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-isl=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-cloog=/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac --with-boot-ldflags='-Wl,-headerpad_max_install_names -Wl,-L/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib -Wl,-L/usr/lib' --with-stage1-ldflags='-Wl,-headerpad_max_install_names -Wl,-L/Users/ray/mc-x64-3.5/conda-bld/gcc-4.8_1477649012852/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib -Wl,-L/usr/lib' --enable-checking=release --with-tune=generic --disable-multilib
Thread model: posix
gcc version 4.8.5 (GCC) 
...