我在
PYTHON_DIR
安装了python。这是在 Linux RHEL7 上。
ls $PYTHON_DIR
bin include lib share
ls $PYTHON_DIR/lib
libpython3.11.so libpython3.11.so.1.0 libpython3.so pkgconfig python3.11
我下载 gdb 13.1 源代码,解压它,创建 build-rhel7 目录并 cd 到其中。
../configure --with-python=$PYTHON_DIR
make
没有说有
no usable python found at /path/to/python
如果我打开
gdb/config.log
,错误是:
configure:22632: gcc -std=gnu99 -o conftest -g O2 -I/path/to/python/include -I/path/to/python/include/python3.11 -I/path/to/python/include/3.11 conftest.c -lpython3.11 -lpthread -ldl -lutil -lm -lncursesw -lm -ldl >&5
/usr/bin/ld: cannot find -lpython3.11
所以问题是编译不会调查
$PYTHON_DIR/lib
。即使我将此路径添加到LD_LIBRARY_PATH
,它也不会在那里查找,因此不会找到libpython3.11.so。
如何让它在 lib/ 目录中查找?
(我更改了路径,因为这是内部企业环境)。
首先,您需要使用 --enable-shared 选项编译 python。
设置以下环境。
csh: setenv LIBRARY_PATH /path/to/python/lib:$LIBRARY_PATH
bash: export LIBRARY_PATH=/path/to/python/lib:$LIBRARY_PATH
并且 LD_LIBRARY_PATH 对 gdb 编译没有任何帮助。 (用python-3.8编译gdb-9.2)