在 CentOS 5.9(x86_64)中安装 Python 3.3.2 时如何修复 _decimal 模块编译错误?

在 CentOS 5.9(x86_64)中安装 Python 3.3.2 时如何修复 _decimal 模块编译错误?

当我尝试在 CentOS 5.9 x86_64 中编译 Python 3.3.2 时出现以下错误:

无法构建这些模块:
_decimal

执行“make”命令(在./configure 命令之后)时出现此错误。

谷歌搜索后,我找到的信息很少。问题似乎与旧版本的 gcc 有关,可以通过升级 Linux 发行版来解决。但我必须坚持使用 CentOS 5.9,而且我已经在使用适用于 CentOS 5.9 的最新版本的 gcc(gcc 版本 4.1.2)。

有人能够在 CentOS 5.9 中安装 Python 3.3.2 吗?

感谢您的帮助。

答案1

好的,我找到方法了。

您可以与 CentOS 5.9 附带的默认版本一起安装较新版本的 gcc(4.4.7),仅使用 CentOS 5.9 的官方软件包,而不会覆盖 gcc 4.1.2 的安装。

步骤如下:

1.- 使用 yum 安装以下软件包(也许您可以使用更少的软件包,但我尝试安装这 3 个):

yum 安装 gcc44.x86_64
yum 安装 gcc44-c++.x86_64
yum 安装 libstdc++-devel.x86_64

2.- 设置 CC 环境变量以指向 gcc44 编译器:

导出 CC=/usr/bin/gcc44

3.- 运行 Python 3.3.2 tarball 的 README 文件中所示的命令:

。/配置
制作
进行测试
安装

现在,在第一次“make”之后,您应该不会看到与“_decimal”模块相关的错误消息。并且“make test”应该成功完成。

4.- 取消设置 CC 环境变量:

未设置 CC

就是这样。

答案2

同样的问题。我使用的解决方案略有改动

./configure --with-gcc=/usr/bin/gcc44

选项。configure 脚本的帮助中没有明确提到这一点,但它确实有效。

相关内容