首页 > 解决方案 > gcc 在 mac os catalina 上找不到头文件

问题描述

我正在安装一个无法用 Apple 的 gcc 编译的包(称​​为 CLASS,在宇宙学中广泛使用)。

我尝试通过 homebrew (gcc-9) 和 anaconda 分别安装 gcc。但是他们都找不到标准的 C 库文件,例如 stdio.h、math.h 等。我看到这个问题在 mac 中很常见。我在/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/. 专注于 anaconda gcc(版本 4.8.5),然后我将文件复制到/Users/satadru/anaconda2/include/. 现在简单的 C 代码,例如“hello world”代码运行良好。但是当我尝试安装 CLASS 包时,我得到了由有问题的库文件引起的错误:stdio.h,math.h!当我尝试使用自制 gcc-9 安装软件包时(将库文件复制到其相关目录之后),我得到了同样的错误。我知道很多人可以毫无问题地在 catalina 上运行该软件包。

现在我有以下问题:

  1. 所有标准 C 库头文件都相同吗?也就是说,anaconda gcc 4.8.5 还是 gcc-9,头文件都一样吗?头文件是否在不同的操作系统上有所不同,比如 linux 或 mac os?

  2. anaconda gcc 是否在以下位置查找头文件/Users/satadru/anaconda2/include/

  3. 在将所有头文件复制到 之前/Users/satadru/anaconda2/include/,该目录中存在一些。为什么anaconda gcc安装的时候没有把自己所有的头文件都放在这个目录下?我们在 linux 操作系统上做的时候是一样的吗?

  4. 如何解决我的问题?我联系了包的所有者,他说他自己在 mac 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) 

标签: gccanacondacondastatic-librariesmacos-catalina

解决方案


推荐阅读