CentOS 7 64位環境下安裝llvm以及python的llvmlite包

來源:互聯網
上載者:User

標籤:

  llvm是一個很強大的編譯器,具體的內容請讀者自行百度一下哈

安裝步驟:

1.安裝llvm

2.安裝python的llvmlite包

 

一.安裝llvm(版本是3.5)

 1.需要的檔案

  LLVM source code

  Clang source code

  Clang Tools Extra source code

  Compiler RT source code

  LibC++ source code

  上面這些檔案在這個連結:http://llvm.org/releases/download.html#3.5

  下載好了以後,四個壓縮包都解壓出來,得到四個目錄:

  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 clangmv clang/ llvm-3.5.src/tools/mv clang-tools-extra-3.5.src extramv extra/ llvm-3.5.src/tools/clang/mv compiler-rt-3.5.src compiler-rtmv compiler-rt llvm-3.5.src/projects/

  這樣以後clang,clang-tools-extra和compiler-rt就可以和llvm一起編譯了。

  在llvm-3.5.src同一層目錄上建立個目錄build-3.5並進入:

mkdir build-3.3cd build-3.3

  然後configure:

../llvm-3.3.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-gnuThread 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包:

  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.versionrunning installrunning buildgot version from VCS {‘version‘: ‘0.3.0-12-gcc70fba‘, ‘full‘: ‘cc70fba418d0624f87fd9b18687ca4663b41cd4f‘}running build_ext/usr/bin/python ffi/build.pyLLVM 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-configerror: 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

  

  這個時候你應該成功安裝了吧?恭喜呀,苦盡甘來,這就是成功的喜悅!!!^……^

  如果這個時候你還是有問題的話可以評論這篇文章或者聯絡我[email protected]

  

CentOS 7 64位環境下安裝llvm以及python的llvmlite包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.