使用自定义python安装编译gdb 13.1找不到-lpython3.11

问题描述 投票:0回答:1

我在

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/ 目录中查找?

(我更改了路径,因为这是内部企业环境)。

python-3.x makefile gdb ld configure
1个回答
0
投票

首先,您需要使用 --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)

© www.soinside.com 2019 - 2024. All rights reserved.