我最近尝试为我的扶手板编译crosstool-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
它运作正常,所以我想知道问题出在哪里。 谢谢你的帮助。
答案 0 :(得分:3)
我有同样的问题,问题出在这里:
[ALL ] print to_unix_path(sysconfig.PREFIX)
[ALL ] ^
[ALL ] SyntaxError: invalid syntax
这意味着它使用Python 3而不是Python 2,可能是因为python指向python3(这是Arch中的默认值)k
要解决这个问题,只需创建一个新目录(我在家中创建一个名为bin的目录)并创建两个名为python和python-config的符号链接,指向python2和python2-config:
mkdir ~/bin
ln -s /bin/python2 ~/bin/python
ln -s /bin/python2-config ~/bin/python-config
现在再次尝试构建crosstool-ng在PATH开头的python2处添加带有python链接的目录:
PATH=$HOME/bin:$PATH crosstool-ng build