pip install bcolz 安裝這個(gè)包的時(shí)候各種編譯錯(cuò)誤,搞的很頭痛。終于皇天不負(fù)有心人成功的搞定,在這里分享一下,希望能幫助到有需要的人。
錯(cuò)誤
How to fix “cc1: error: unrecognized command line option ‘-mavx2′”
出現(xiàn)錯(cuò)誤的原因是因?yàn)槟褂玫腉CC編譯器不支持“ -mavx2”選項(xiàng),應(yīng)該使用此選項(xiàng)在將程序編譯到的代碼中使用AVX2擴(kuò)展指令集。作為x86指令集的擴(kuò)展,AVX / AVX2旨在提高浮點(diǎn)密集型計(jì)算的性能和并行性。
首先查看系統(tǒng)安裝的GCC版本
$ gcc --version
CentOS上安裝的GCC編譯器很可能太舊,無法支持“ -mavx2”選項(xiàng)。
例如,Centos6.X帶有GCC版本4.4.7。所以用yum升級(jí)GCC版本一直顯示的是最新版本,(問題就出在這里了)。為了編譯成功我們必須把GCC升級(jí)到4.7以上的版本。如果要在CentOS 6.X上將GCC升級(jí)到versioin 4.7,則可以安裝devtools。請(qǐng)參考本指南在CentOS上升級(jí)GCC。
從Centos 6.5開始,安裝gcc的默認(rèn)版本為4.4.7。如果要在Centos上升級(jí)gcc,則可以安裝devtools,它是Red Hat Developer Toolset的Centos版本。devtools,為Centos 5和6提供了一套開發(fā)工具,包括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,請(qǐng)使用以下命令。該命令將啟動(dòng)一個(gè)新的shell,其中所有環(huán)境變量都將自動(dòng)設(shè)置為使用devtools。
$ scl enable devtoolset-1.1 bash
$ gcc --version
結(jié)果 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 就會(huì)成功編譯,如果分享幫助到你了,可以給個(gè)小小的贊。