mac osx python3.7.0 编译排难

最近在看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 
                ^~~~~~~~~~~~
1 error generated.
...
Failed to build these modules:
_tkinter

2. 原因

原因是mac osx 10.8 开始不再随附X11,如果想使用X11,需要安装 X11的开源实现 XQuartz。

3. 解决方法

  1. 到 XQuartz 官网下载并安装 最新版 XQuartz: https://www.xquartz.org/
    安装完成后,X11将位于: /opt/X11/
  2. 修改header位置:
$ ln -s /opt/X11/include/X11 /usr/local/include/X11

4. 重新编译安装

不过还是编译失败,下次再尝试吧。


参考资料:

  1. https://blog.csdn.net/luozhuang/article/details/15808681
  2. https://www.jianshu.com/p/831e838a1b52
  3. https://www.xquartz.org/
  4. https://apple.stackexchange.com/questions/tagged/x11
  5. https://support.apple.com/en-us/HT201341

你可能感兴趣的:(mac osx python3.7.0 编译排难)