我最近尝试为我的手臂板编译crosstoool -ng。主机类型为Arch linux 3.9.4-1。我遇到了以下问题:
[ALL ] checking for python... /usr/bin/python
[ALL ] File "/home/godard_b/workspace/raspberry_pi/staging/.build/src/gdb-7.4.1/gdb/python/python-config.py", line 47
[ALL ] print to_unix_path(sysconfig.PREFIX)
[ALL ] ^
[ALL ] SyntaxError: invalid syntax
[ERROR] configure: error: failure running python-config --includes
[ERROR] make[2]: *** [configure-gdb] Error 1
[ALL ] make[2]: Leaving directory `/home/godard_b/workspace/raspberry_pi/staging/.build/arm-unknown-linux-gnueabi/build/build-gdb-cross'
[ERROR] make[1]: *** [all] Error 2
[ALL ] make[1]: Leaving directory `/home/godard_b/workspace/raspberry_pi/staging/.build/arm-unknown-linux-gnueabi/build/build-gdb-cross'
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing cross-gdb'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@258]
[ERROR] >> called from: do_debug_gdb_build[scripts/build/debug/300-gdb.sh@177]
[ERROR] >> called from: do_debug[scripts/build/debug.sh@35]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@609]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> '/usr/share/doc/crosstool-ng/ct-ng.1.17.0/B - Known issues.txt'
[ERROR]
[ERROR] (elapsed: 132:05.60)
当我运行:
python-config --include
它工作得很好,所以我想知道问题在哪里。谢谢你的帮助。
我有同样的问题,问题在这里:
[ALL ] print to_unix_path(sysconfig.PREFIX)
[ALL ] ^
[ALL ] SyntaxError: invalid syntax
这意味着它使用Python 3而不是Python 2,可能是因为Python指向python3(这是Arch的默认值)k
要解决这个问题,只需创建一个新目录(我在home上创建了一个名为bin的目录),并创建两个名为python和python-config的符号链接,指向python2和python2-config:
mkdir ~/bin
ln -s /bin/python2 ~/bin/python
ln -s /bin/python2-config ~/bin/python-config
现在再试一次构建cross - tool-ng,在PATH的开头添加python链接在python2的目录:
PATH=$HOME/bin:$PATH crosstool-ng build
来源:https://wiki.archlinux.org/index.php/Python