OSX Catalina-GCC / PIP编译问题

时间:2020-06-17 18:04:17

标签: python gcc g++ macos-catalina

我正在尝试通过Mac上的pip在计算机上安装工具,但是出现了问题。

我在StackOveflow上看到了一些建议,这些建议包括安装命令行工具,运行xcode-select --install的变体以及导出CPATHCPATH。这样解决了标题错误。我现在遇到错误了

ld: library not found for -lSystem
collect2: error: ld returned 1 exit status

    psutil/_psutil_osx.c:36:43: fatal error: CoreFoundation/CoreFoundation.h: No such file or directory
     #include <CoreFoundation/CoreFoundation.h>
                                               ^
    compilation terminated.
    error: command 'gcc' failed with exit status 1

有人碰到过类似的东西吗?

1 个答案:

答案 0 :(得分:0)

在更新到Catalina macOS 10.15并安装了xcode 12 beta 6之后,我遇到了相同的问题。我的golang代码编译失败并出现错误

share/go/src/crypto/x509/root_cgo_darwin.go:16:10: fatal error: 'CoreFoundation/CoreFoundation.h' file not found
#include <CoreFoundation/CoreFoundation.h>

尝试了xcode-select --install和其他建议,没有用。

最后的fix I found是手动链接更新导致的混乱目录。

步骤

1:在Mac上关闭无根/系统完整性保护:禁用SIPe

需要此设置才能更改系统配置。 重新启动Mac并按住command + R进入恢复模式。 进入恢复模式后,从屏幕顶部的“实用工具”下拉菜单中打开“终端”窗口。在“终端”窗口中键入以下内容:

csrutil disable

2:重新启动进入正常模式

3:打开终端,使根文件夹可写

sudo mount -uw    

4:修复链接

cd /System/Library/Frameworks/CoreFoundation.framework
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers Headers
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Modules Modules
cd /System/Library/Frameworks/Security.framework
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers Headers
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Modules Modules