14

尝试交叉编译 GDB(使用--with-python标志)时出现此错误:

checking for python: /usr/bin/python
checking for python2.7: no
configure: error: python is missing or unusable

我确保我在/usr/bin. 我什至删除了软件包并重新安装了它。我尝试使用--with-python=/usr/binand --with-python=/usr/local,但没有运气。我确定虽然安装了 2.7。知道该怎么做吗?

4

4 回答 4

21

编译 GDB 7.4.1 时,我在 Debian 6.0 上遇到了同样的问题

解决方案是安装 python 头文件

sudo apt-get install python2.6-dev

然后用正确的标志配置

./configure --with-python
于 2012-07-23T14:19:38.210 回答
12

我在 gdb 7.4 上遇到了同样的问题,在花了一些时间调试后终于让它工作了。

通过检查文件<gdb-source-path>/gdb/config.log,您会注意到一行:

configure:11031: gcc -o conftest -g -O2   -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7   conftest.c -lncurses -lz -lm    -L/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -ldl -framework CoreFoundation -lpython2.7 -u _PyMac_Error Python.framework/Versions/2.7/Python >&5

似乎该脚本python/python-config.py返回了一些导致gcc命令失败的无效标志。

解决方案是打开<gdb-source-directory>/gdb/python/python-config.py并注释掉这两行:

#            if getvar('LINKFORSHARED') is not None:
#                libs.extend(getvar('LINKFORSHARED').split())
于 2012-07-22T12:46:26.737 回答
6

我刚刚遇到了使用 Continuum 的 Python 2.7 构建 gdb 7.8.1 的类似问题,就我而言,它安装在非标准位置。

在这种情况下,解决方案是在运行“配置”之前提供额外的配置:

export LDFLAGS="-Wl,-rpath,<non-standard-Python-lib-location> -L<non-standard-Python-lib-location>"
configure --with-python=<non-standard-Python-executable-location>
于 2014-10-31T04:47:18.933 回答
6

我在构建 ESP8266 SDK 时遇到了这个错误。刚刚做了一个 sudo apt-get install python-dev ,现在它可以工作了。

于 2017-04-21T17:45:57.713 回答