【发布时间】:2014-03-31 21:26:22
【问题描述】:
首先我想说的是,在这里提出问题并不是我轻而易举的事情。我现在已经尝试从源代码安装 Pygame 1.9.1 四个小时,我遇到了几个问题,但能够克服每一个问题。这是我完全难倒的第一个。
在我解压 pygame-1.9.1release.tar.gz 并 cd 到文件夹后,我运行 'python3 setup.py install'
/Library/Frameworks/SDL.framework/Versions/Current/Headers/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found
#include <X11/Xlib.h>
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
经过一些在线研究,我了解到 X11 不再包含在 OSX 10.9 中,所以我安装了 XQuartz,希望它可以作为替代品。
Xquartz 确实包含“Xlib.h”,但它的文件路径是 /opt/X11/include/X11/Xlib.h,并且安装脚本在此处找不到它。我尝试了几种方法来解决这个问题。
错误过程专门出现在安装的构建部分。我试过使用
python3 setup.py config --include-dirs /opt/X11/include
还有
python3 setup.py config --include-dirs /opt/X11/include/X11
但得到同样的错误。
我在网上看到安装 Xcode 命令行工具可以解决这个问题。我大约 95% 确定我之前有命令行工具,但无论如何我还是尝试使用“xcode-select --install”再次获取它们,结果却被告知“无法安装该软件,因为它目前无法从软件更新服务器”。 “没问题,”我告诉自己,然后从 Mac 开发者网站下载包。它没有任何帮助。
我也尝试过使用命令进行符号链接
sudo ln -s /usr/include/X11 /opt/X11/include/X11
在我尝试过的所有事情中,我最了解这一点,我很可能做错了符号链接命令。
我尝试过的另外两个命令是
export C_INCLUDE_PATH=/opt/X11/include
export CPLUS_INCLUDE_PATH=/opt/X11/include
仅查看文档,我发现了启动脚本的调试选项。 'python3 setup.py build -g' 的输出是
running build
running build_py
running build_ext
building 'pygame.display' extension
/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -g -Ddarwin -I/Library/Frameworks/SDL.framework/Versions/Current/Headers -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c src/display.c -o build/temp.macosx-10.6-intel-3.3/src/display.o
In file included from src/display.c:30:
/Library/Frameworks/SDL.framework/Versions/Current/Headers/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found
#include <X11/Xlib.h>
^
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
我不确定我还能做些什么,但我真的很感激能得到一些帮助。提前致谢!
【问题讨论】:
-
我会采取行动..(ymmv 这是一个猜测) export INCLUDE=$INCLUDE:/opt/X11/include/X11
-
感谢您的尝试,但执行此命令后运气不佳。 (同样的错误)
标签: python macos python-3.x pygame osx-mavericks