zoukankan      html  css  js  c++  java
  • CentOS 7 64位环境下安装llvm以及python的llvmlite包

      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.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

      

  • 相关阅读:
    数学工具WZgrapher
    零线和地线的区别,示波器如何测量市电?
    使用直流稳压电源时的注意事项!
    中文全角和半角输入有什么区别?
    ThinkingRock:使用方法
    2014记首
    如何使用Excel绘制甘特图
    AStyle代码格式工具在source insight中的使用
    STM32F103系列命名规则
    上市公司行情查询站点
  • 原文地址:https://www.cnblogs.com/goingmyway/p/4493204.html
Copyright © 2011-2022 走看看