pip install bcolz 安装这个包的时候各种编译错误,搞的很头痛。终于皇天不负有心人成功的搞定,在这里分享一下,希望能帮助到有需要的人。
错误
How to fix “cc1: error: unrecognized command line option ‘-mavx2′”
出现错误的原因是因为您使用的GCC编译器不支持“ -mavx2”选项,应该使用此选项在将程序编译到的代码中使用AVX2扩展指令集。作为x86指令集的扩展,AVX / AVX2旨在提高浮点密集型计算的性能和并行性。
首先查看系统安装的GCC版本
$ gcc --version
CentOS上安装的GCC编译器很可能太旧,无法支持“ -mavx2”选项。
例如,Centos6.X带有GCC版本4.4.7。所以用yum升级GCC版本一直显示的是最新版本,(问题就出在这里了)。为了编译成功我们必须把GCC升级到4.7以上的版本。如果要在CentOS 6.X上将GCC升级到versioin 4.7,则可以安装devtools。请参考本指南在CentOS上升级GCC。
从Centos 6.5开始,安装gcc的默认版本为4.4.7。如果要在Centos上升级gcc,则可以安装devtools,它是Red Hat Developer Toolset的Centos版本。devtools,为Centos 5和6提供了一套开发工具,包括GCC,GDB,binutils,elfutils等。提供的gcc版本4.7.2。
在Centos 上安装devtooks 使用一下命令
$ sudo wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d
$ sudo sh -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo'
$ sudo yum install devtoolset-1.1
devtools将安装在/opt/centos/devtoolset-1.1下。
要使用GCC从devtoolset,请使用以下命令。该命令将启动一个新的shell,其中所有环境变量都将自动设置为使用devtools。
$ scl enable devtoolset-1.1 bash
$ gcc --version
结果 gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5)表示安装成功
另外,您可以显式定义以下变量以使用devtools。
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
再次使用pip install bcolz 就会成功编译,如果分享帮助到你了,可以给个小小的赞。