python - 安装最新版本的 Python 时遇到问题 : make error?

标签 python c compilation makefile

我的 Fedora VM 上有 Python 2.7,我想升级到 Python 3.3.2。我这样做了:

wget http://python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2
tar xf Python-3.3.2.tar.bz2
cd Python-3.3.2
./configure --prefix=/usr/local

然后尝试

make

仅收到此错误:

Objects/abstract.c:2281:20: error: variable 'countva' is uninitialized when
      used here [-Werror,-Wuninitialized]
        Py_VA_COPY(countva, va);
        ~~~~~~~~~~~^~~~~~~~~~~~
Include/pyport.h:875:37: note: expanded from:
#define Py_VA_COPY(x, y) Py_MEMCPY((x), (y), sizeof(va_list))
                                    ^
Objects/abstract.c:2278:20: note: initialize the variable 'countva' to
      silence this warning
    va_list countva;
                   ^
                    = NULL
1 error generated.
make: *** [Objects/abstract.o] Error 1

...什么?我该如何解决? Python安装文件应该不会有问题吧?

最佳答案

Python 存档没有任何问题,它一定是你的环境。

我在我的系统上重现了您的确切步骤,并且它在我的系统上运行。我认为 -Werror 开关是罪魁祸首。它将把警告变成错误。你的编译器实际遇到的只是一个警告。

您可以在同一终端中输入 echo $CFLAGS 并发布输出吗?在我的系统上,此命令将生成一个空行。也许您在 ~/.bashrc 中设置了一些 CFLAGS ?或者也许您在 ~/.bashrcsource一个文件来设置CFLAGS

关于python - 安装最新版本的 Python 时遇到问题 : make error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956573/

相关文章:

java - 如何修复此代码中的导入错误?

python - 使用参数(对象数组)从 python2 脚本调用 python3 方法并接收输出

python - 使用Python从Docker容器内获取MYSQL_TCP_ADDR?

c - Pthreads - 为什么 C 函数被声明为 void*?

c++ - llvm clang 编译器上的 dynamic_cast 失败

c - 对 xxx include 的 undefined reference 不起作用

python - 如何删除绘图上的单个刻度标签,保留刻度本身

python - 仅使用 Python 检查字典中键的值并构造键矩阵

c - GMP mpz_sizeinbase 以 10 为基数返回 9 的大小 2

c - 如何用C语言将 "ifconfig"追加到.txt文件中?