我尝试在solaris10上用gcc(v4.7)编译msgpack python模块。安装的python是2.6.8。Distutils会自动选取一个不正确的编译器选项(-xcode=pic32),我想从命令中删除它。
distutils的全部命令是:
/opt/csw/bin/gcc-4.7 -DNDEBUG -O -O2 -pipe -mcpu=v9 -I/opt/csw/include -xcode=pic32 -I/opt/csw/include/python2.6 -c msgpack/_msgpack.c -o build/temp.solaris-2.10-sun4v-2.6/msgpack/_msgpack.o
但会产生这样的错误:
gcc-4.7:错误:无法识别语言代码=pic32
然后失败了。如果我删除-xcode=pic32选项并手动执行上面的命令,那么模块将成功编译。
不过,我需要能够以自动化的方式实现这一点(使用buildfarm来生成包)。问题是,在不修改或更改当前python或distutils的情况下,有没有一种方法可以“删除”distutils正在使用的选项,这样我就可以拥有python了设置.py适当地处理构建模块(即没有pic32选项)?
谢谢
您也可以通过设置以下环境变量来找到运气:
注意:unset env var和set as empty env var之间有区别。当我的
*FLAGS
env vars未设置时,我对Python包有构建错误。(使用选项-xO2
调用gcc
是原因。)设置为空起了作用。在不要用那个gcc编译。
-xcode=pic32
是Sun Studio编译器命令行参数。它也会导致链接问题,即使你编译得很好。使用可以理解此类参数的SUN CoolToolsgcc
进行编译,或者对SPARC使用Oracle Solaris Studio。在一些提示:
-xcode=pic32
,而是改为{-xtarget=native
)相关问题 更多 >
编程相关推荐