“make”构建错误的python版本

时间:2015-08-11 00:04:50

标签: linux python-2.7 build compilation mod-wsgi

系统:SMEServer 8.1(CentOS 5.10)64位,系统python是2.4.3

/usr/local/bin/python2.7(2.7.3)上有一个alt python,它是在不久前建成的。

目标:构建python2.7.10,mod_wsgi,django。第一步是python 2.7.10来替换(旧的和破碎的)2.7.3

会发生什么:

当我将最新的2.7 python构建为共享时,会构建错误的可执行文件。

cd /tmp && rm -vrf Python-2.7.10 && tar -xzvf Python-2.7.10.tgz && cd Python-2.7.10 && ./configure && make && ./python -V

2.7.10 <- as expected

...但这不适用于mod_wsgi - 我们必须--enable-shared。

cd /tmp && rm -vrf Python-2.7.10 && tar -xzvf Python-2.7.10.tgz && cd Python-2.7.10 && ./configure --enable-shared && make && ./python -V

2.7.3 <- Wrong version!

我每次都要删除整个构建目录以隔离事物,并确保每次尝试都不会污染文件夹。某种程度上,2.7岁的(旧)安装是通过configure“找到”的,但只有当'--enable-shared'打开时才会找到。

cd /tmp && rm -vrf Python-2.7.10 && tar -xzvf Python-2.7.10.tgz && cd Python-2.7.10 && ./configure --prefix=/usr/local/ && make && ./python -V

2.7.10

cd /tmp && rm -vrf Python-2.7.10 && tar -xzvf Python-2.7.10.tgz && cd Python-2.7.10 && ./configure --enable-shared --prefix=/usr/local/ && make && ./python -V

2.7.3 <- ???

我在哪里可以找到make如何找到旧版本?

1 个答案:

答案 0 :(得分:1)

我将在此处记录此作为修复,也希望得到格雷厄姆的评论,说明为什么可能需要这样做;

更改

make

LD_RUN_PATH=/usr/local/lib make

是答案,但我不得不使用它来构建python2.7.10和mod_wsgi。在mod_wsgi上没有使用LD_RUN_PATH我仍然有可怕的;

[warn] mod_wsgi: Compiled for Python/2.7.10. [warn] mod_wsgi: Runtime using Python/2.7.3.