llvm是一個很強大的編譯器,具體的內容請讀者自行百度一下哈html
安裝步驟:java
1.安裝llvmpython
2.安裝python的llvmlite包linux
一.安裝llvm(版本是3.5)c++
1.須要的文件python2.7
LLVM source codeui
Clang source codethis
Clang Tools Extra source codegoogle
Compiler RT source codespa
LibC++ source code
上面這些文件在這個連接:http://llvm.org/releases/download.html#3.5.0
下載好了之後,四個壓縮包都解壓出來,獲得四個目錄:
llvm-3.5.src
cfe-3.5.src
clang-tools-extra-3.5.src
compiler-rt-3.5.src
libcxx-3.5.src
而後按下面的步驟組織:
mv cfe-3.5.src clang mv clang/ llvm-3.5.src/tools/ mv clang-tools-extra-3.5.src extra mv extra/ llvm-3.5.src/tools/clang/ mv compiler-rt-3.5.src compiler-rt mv compiler-rt llvm-3.5.src/projects/
這樣之後clang,clang-tools-extra和compiler-rt就能夠和llvm一塊兒編譯了。
在llvm-3.5.src同一層目錄上新建個目錄build-3.5並進入:
mkdir build-3.5 cd build-3.5
而後configure:
../llvm-3.5.0.src/configure --enable-optimized --enable-targets=host-only
注意:這邊兩個選項推薦你們加上,不然會產生巨大的文件,我第一次編譯的時候,沒有加上這兩個選項,編譯出來的結果多大9.4G(夠嚇人的吧?把個人磁盤都耗盡了,還報錯,google了很久才發現是磁盤空間不夠),耗時超過一個半小時,加上之後編譯出來的結果不到1G,i5四核20分鐘多一點就編譯完成。
而後make:
make -j4
若是你是用虛擬機安裝的,儘可能把全部的cpu核心用上,我用的vmware虛擬機,機器是i5的,8G內存。安裝了兩次,第一次給了虛擬機1個核心,結果make -j4以後,編譯了兩個半小時。後來給了虛擬機4個核心,結果不到一個小時就編譯成功了。因此多加幾個核心。
而後make install:
sudo make install
如今用clang++ -v查看下是否安裝成功:
clang version 3.5 Target: x86_64-unknown-linux-gnu Thread model: posix
接下來若是你要使用llvm自帶的C++編譯器你能夠參考這些文章:
http://www.cnblogs.com/codemood/p/3142848.html
http://www.cnblogs.com/Frandy/archive/2012/10/20/llvm_clang_libcxx_cxx11.html
http://www.cnblogs.com/ralphjzhang/archive/2011/12/02/2272671.html
以上三篇文章給了我不少安裝的思想,很感謝這些做者。
二.安裝python的llvmlite包:
這篇文章給了我安裝的思想,感謝這篇文章的做者Eli Bendersky:http://eli.thegreenplace.net/2015/building-and-using-llvmlite-a-basic-example/
1.安裝準備
python2.7版本詳見這個連接:https://pypi.python.org/pypi/llvmlite/
成功安裝llvm3.5的版本
2.從llvmlite官網下載https://pypi.python.org/pypi/llvmlite/,而後解壓,你會看到下面這些文件:
而後在在這個目錄下命令行輸入下面命令安裝:
$ python setup.py build
若是會出現錯誤,可能是出現這個錯誤:
/usr/local/lib/python2.7/dist-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.3.0-12-gcc70fba') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running install running build got version from VCS {'version': '0.3.0-12-gcc70fba', 'full': 'cc70fba418d0624f87fd9b18687ca4663b41cd4f'} running build_ext /usr/bin/python ffi/build.py LLVM version... Traceback (most recent call last): File "ffi/build.py", line 112, in <module> main() File "ffi/build.py", line 104, in main main_posix('linux', '.so') File "ffi/build.py", line 93, in main_posix "to the path for llvm-config" % (llvm_config,)) RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config error: command '/usr/bin/python' failed with exit status 1
那這個錯誤是什麼意思呢?
你能夠打開ffi目錄下的build.py這個python文件,
看到第86行,其實報錯是告訴咱們程序找不到LLVM_CONFIG的配置路徑,這和你缺乏java的環境變量而後去配置java的環境變量很相似。
那怎麼找到LLVM_CONFIG的可執行文件路徑呢?
可使用:
$whereis llvm-config
注意:必定要安裝成功了llvm3.5。上面的命令返回的結果就是可執行文件的路徑
那最終怎麼解決上面的那個問題呢?
請看下面的方法:
$sudo chmod u+x /etc/environment 打開/etc/environment這個文件 而後加入你的路徑如:LLVM_CONFIG="/usr/local/bin/llvm-config",這個是個人安裝的目錄,你的可能不一樣,
$whereis llvm-config 命令返回什麼你就加什麼
把這個路徑加到/etc/environment文件的最後一行,而後重啓機器(必定要重啓機器)
再從新安裝:
$ python setup.py build
若是還會報錯那麼多是這個錯誤:
其實都是由於少了這個-lstdc++連接致使的。
那這個怎麼解決呢?
能夠參考這篇文章:http://blog.csdn.net/linwhwylb/article/details/7039252/
或者你輸入這個命令安裝相關的文件:
$ sudo yum install glibc-static libstdc++-static
再從新安裝:
$ python setup.py build
沒有報錯吧?那麼你輸入下面的命令來跑一個例程。
$ python runtests.py
$ python setup.py install------>這個是最終安裝命令
上圖是python runtests.py的結果
下圖是最後成功安裝以後的結果
這個時候你應該成功安裝了吧?恭喜呀,苦盡甘來,這就是成功的喜悅!!!^……^
若是這個時候你仍是有問題的話能夠評論這篇文章或者聯繫我scutqiuwei@163.com