最近在看python3源码剖析,在mac上编译python3.7.0时遇到一些问题,记录此文用以排难。
X11 问题
1. 问题定位
编译tkinter模块时失败,提示找不到X11库
In file included from /Users/raphael/code/reading/python3/Python-3.7.0/Modules/_tkinter.c:48:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/tk.h:86:11: fatal error:
'X11/Xlib.h' file not found
# include <X11/Xlib.h>
^~~~~~~~~~~~
1 error generated.
...
Failed to build these modules:
_tkinter
2. 原因
原因是mac osx 10.8 开始不再随附X11,如果想使用X11,需要安装 X11的开源实现 XQuartz。
3. 解决方法
- 到 XQuartz 官网下载并安装 最新版 XQuartz: https://www.xquartz.org/
安装完成后,X11将位于:/opt/X11/
- 修改header位置:
$ ln -s /opt/X11/include/X11 /usr/local/include/X11
4. 重新编译安装
不过还是编译失败,下次再尝试吧。
参考资料:
网友评论