最近在看python3源碼剖析,在mac上編譯python3.7.0時(shí)遇到一些問題,記錄此文用以排難厘托。
X11 問題
1. 問題定位
編譯tkinter模塊時(shí)失敗,提示找不到X11庫(kù)
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的開源實(shí)現(xiàn) XQuartz。
3. 解決方法
- 到 XQuartz 官網(wǎng)下載并安裝 最新版 XQuartz: https://www.xquartz.org/
安裝完成后缎罢,X11將位于:/opt/X11/
- 修改header位置:
$ ln -s /opt/X11/include/X11 /usr/local/include/X11
4. 重新編譯安裝
不過還是編譯失敗伊群,下次再嘗試吧。
參考資料: