在 CentOS 6.x 上编译 Python 3.12.8 时缺少“_dbm”

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

问题

我正在尝试在 CentOS 6.x 上从源代码编译 Python 3.12.8,无需 root 访问权限,因为我没有

sudo
权限。

我运行了以下命令进行配置和构建:

../configure --prefix=$HOME/local/python --with-openssl=$HOME/local/openssl
make -j24

但是构建过程遇到了错误:

The necessary bits to build these optional modules were not found:
_dbm

我尝试了什么

首先,我在

$HOME/local/gdbm
上安装了gdbm 1.24。 源代码是使用wget从
https://ftp.gnu.org/gnu/gdbm/gdbm-1.24.tar.gz
获取的。

接下来,我设置环境变量如下。

export LD_LIBRARY_PATH=$HOME/local/gdbm/lib:$LD_LIBRARY_PATH
export CFLAGS="-I$HOME/local/gdbm/include $CFLAGS"
export CPPFLAGS="-I$HOME/local/gdbm/include $CPPFLAGS"
export LDFLAGS="-L$HOME/local/gdbm/lib $LDFLAGS"
export PATH=$HOME/local/gdbm/bin:$PATH
export C_INCLUDE_PATH=$HOME/local/gdbm/include:$C_INCLUDE_PATH
export PKG_CONFIG_PATH=$HOME/local/gdbm/lib/pkgconfig:$PKG_CONFIG_PATH

但是,

_dbm
仍然不见踪影。

我可以采取哪些额外步骤来解决缺少的

_dbm
依赖项并成功编译 Python? 感谢您的阅读。

python linux centos centos6
1个回答
0
投票

我刚刚自己解决了这个问题。

编译 gdbm 1.24 时,我需要附加

--enable-libgdbm-compat
选项。根据 GDBM 手册,此选项提供了对旧库的兼容性。

gdbm运行

../configure
所需的代码如下:

../configure --prefix=$HOME/local/gdbm --enable-libgdbm-compat

之后,像往常一样使用以下代码安装gdbm:

make
make install

通过此修复,我能够使用我之前在问题中提供的代码成功编译和安装 Python。

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