Installing `dulwich` gives `error: command 'clang' failed with exit status 1`
Installing `dulwich` gives `error: command 'clang' failed with exit status 1`
当我尝试执行 pip install dulwich
时,我最终看到一堵红色的墙抱怨 clang
。这是最后一点:
Please check your Xcode installation
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/Users/alaird/Developer/py3venv/include -I/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c dulwich/_objects.c -o build/temp.macosx-10.14-x86_64-3.7/dulwich/_objects.o
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
In file included from dulwich/_objects.c:20:
/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:25:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
^~~~~~~~~
1 error generated.
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Command "/Users/alaird/Developer/py3venv/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-install-b9wlh7xh/dulwich/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-record-_v0dq_sp/install-record.txt --single-version-externally-managed --compile --install-headers /Users/alaird/Developer/py3venv/include/site/python3.7/dulwich" failed with error code 1 in /private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-install-b9wlh7xh/dulwich/
我在 Google 上写了很多“clang
失败,退出状态为 1”的兔子洞,问题是这太笼统了。回答几个问题:
- 是的,Xcode 是最新版本,并且已经安装了命令行工具(我在 OS X 10.14.6,所以现在通过应用程序更新进行管理)。
- 这是一个以前工作的安装。在我执行
make clean
后开始出现此错误,这使我的 venv
. 崩溃了
- 尝试安装最新的
setuptools
会遇到同样的错误,所以感觉指向 Xcode/my 构建环境(而不是 dulwich
)的错误才是正确的罪魁祸首。
- 做
brew update
也给我同样的 clang
呕吐。当我升级到 Mojave 时,我觉得有些东西被清理了。
想法?
啊哈!
我开始查看警告而不是错误:
no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
这让我注意到 SDK 版本号是硬编码的……这看起来很愚蠢。所以我建立了一个符号链接:
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
根据您的系统配置,您可能需要构建不同的符号链接(还有一个 MacOSX10.15.sdk 文件夹)。
然后成功了! pip
没有问题(包括安装 dulwich
和 pycrypto
),brew
没有问题,我的开发环境一切正常!
我也做了:
export CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
但是,我不认为这是什么原因造成的,因为在开始新的会话后一切仍然有效。所以可能是上面的符号链接解决了它。希望这对其他人有帮助!
当我尝试执行 pip install dulwich
时,我最终看到一堵红色的墙抱怨 clang
。这是最后一点:
Please check your Xcode installation
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/Users/alaird/Developer/py3venv/include -I/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c dulwich/_objects.c -o build/temp.macosx-10.14-x86_64-3.7/dulwich/_objects.o
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
In file included from dulwich/_objects.c:20:
/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:25:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
^~~~~~~~~
1 error generated.
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Command "/Users/alaird/Developer/py3venv/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-install-b9wlh7xh/dulwich/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-record-_v0dq_sp/install-record.txt --single-version-externally-managed --compile --install-headers /Users/alaird/Developer/py3venv/include/site/python3.7/dulwich" failed with error code 1 in /private/var/folders/63/r_rf7mhj14b4c42mfkkl06t8rg1b1r/T/pip-install-b9wlh7xh/dulwich/
我在 Google 上写了很多“clang
失败,退出状态为 1”的兔子洞,问题是这太笼统了。回答几个问题:
- 是的,Xcode 是最新版本,并且已经安装了命令行工具(我在 OS X 10.14.6,所以现在通过应用程序更新进行管理)。
- 这是一个以前工作的安装。在我执行
make clean
后开始出现此错误,这使我的venv
. 崩溃了
- 尝试安装最新的
setuptools
会遇到同样的错误,所以感觉指向 Xcode/my 构建环境(而不是dulwich
)的错误才是正确的罪魁祸首。 - 做
brew update
也给我同样的clang
呕吐。当我升级到 Mojave 时,我觉得有些东西被清理了。
想法?
啊哈!
我开始查看警告而不是错误:
no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
这让我注意到 SDK 版本号是硬编码的……这看起来很愚蠢。所以我建立了一个符号链接:
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
根据您的系统配置,您可能需要构建不同的符号链接(还有一个 MacOSX10.15.sdk 文件夹)。
然后成功了! pip
没有问题(包括安装 dulwich
和 pycrypto
),brew
没有问题,我的开发环境一切正常!
我也做了:
export CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
但是,我不认为这是什么原因造成的,因为在开始新的会话后一切仍然有效。所以可能是上面的符号链接解决了它。希望这对其他人有帮助!