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編譯器很可能太舊,無(wú)法支持“ -mavx2”選項(xiàng)钩述。
例如寨躁,Centos6.X帶有GCC版本4.4.7。所以用yum升級(jí)GCC版本一直顯示的是最新版本牙勘,(問(wèn)題就出在這里了)职恳。為了編譯成功我們必須把GCC升級(jí)到4.7以上的版本。如果要在CentOS 6.X上將GCC升級(jí)到versioin 4.7方面,則可以安裝devtools放钦。請(qǐng)參考本指南在CentOS上升級(jí)GCC。
從Centos 6.5開(kāi)始恭金,安裝gcc的默認(rèn)版本為4.4.7操禀。如果要在Centos上升級(jí)gcc,則可以安裝devtools横腿,它是Red Hat Developer Toolset的Centos版本颓屑。devtools,為Centos 5和6提供了一套開(kāi)發(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è)小小的贊驹饺。