• 安装bcc-tools 和 gcc 4.8+


    一. 安装cmake
    cmake是一种跨平台的编译工具,安装过程如下:

    下载源码包:https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
    解压:tar -xf cmake-3.8.0.tar.gz
    引导程序运行:./bootstrap
    编译gmake
    安装:make install
    环境配置:echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc && source ~/.bashrc

    二. 安装llvm4.0
    下载llvm源码包:wget http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz
    解压:tar -xf llvm-4.0.0.src.tar.xz
    下载clang: wget http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz
    解压:tar -xf cfe-4.0.0.src.tar.xz
    mv cfe-4.0.0.src llvm-4.0.0.src/tools/
    mkdir llvm-build
    cd llvm-build
    cmake -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_TARGETS_TO_BUILD='BPF;X86' -DCMAKE_BUILD_TYPE=Release ../llvm-4.0.0.src

    (su切换为超级用户)
    make
    make install
    编译的时间稍微有点儿长。

    备注:

    在gcc升级且配置了export之后,如果报错

    [ 8%] Building AttributesCompatFunc.inc...
    ../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ../../bin/llvm-tblgen)
    ../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ../../bin/llvm-tblgen)
    ../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ../../bin/llvm-tblgen)
    ../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ../../bin/llvm-tblgen)

    解决

    cd /usr/lib64 &&  unlink  libstdc++.so.6 && ln -s /usr/local/lib64/libstdc++.so.6.0.19 libstdc++.so.6

    /usr/local/lib64/libstdc++.so.6.0.19 是进行了下面gcc的升级步骤之后才有的


    三. 安装其他库
    libelf
    sudo yum install -y elfutils-libelf-devel

    luajit

    sudo wget http://luajit.org/download.html/LuaJIT-2.0.5.tar

    tar zxvf LuaJIT-2.0.4.tar.gz
    cd LuaJIT-2.0.4
    make && sudo make install
    四. 安装bcc-tools

    git clone https://github.com/iovisor/bcc.git
    mkdir bcc/build; cd bcc/build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr
    make
    sudo make install

    https://blog.csdn.net/luckgl/article/details/88355074

    1.获取gcc4.8.5的源码包

    wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2

    2.解压压缩包

    tar -jxvf gcc-4.8.5.tar.bz2

    3.进入解压后的目录

    cd gcc-4.8.5

    4.下载、配置和安装需要的依赖库

    ./contrib/download_prerequisites

    这个脚本文件会自动帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

    5.直接在当前目录下创建一个目录,存放编译后的文件。

    mkdir gcc-build-4.8.5

    6.进入这个目录来编译

    cd gcc-build-4.8.5

    7.生成Makefile文件,准备编译整个项目(gcc4.8.5)

    ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

    8.编译gcc4.8.5的源码,非常耗时,时间决定于你的机器的性能。

    make

    configure: error: C++ compiler missing or inoperational

    make[2]: *** [configure-stage1-libcpp] Error 1   

    make[2]: Leaving directory `/home/liukk/gcc-4.8.1'   

    make[1]: *** [stage1-bubble] Error 2   

    make[1]: Leaving directory `/home/liukk/gcc-4.8.1'   

    make: *** [all] Error 2

    解决办法:

    安装如下内容:

    yum install gcc-c++

    9.安装gcc4.8.5(非root用户要在前面加sudo)

    make install

    10.查看gcc和g++的版本

    gcc --version

    g++ --version

        正确提示为:

    gcc (GCC) 4.8.5

    g++ (GCC) 4.8.5

    11.centos的gcc版本一般比较低,有时候需要用到高版本的gcc,所以回自己装一个。

    cmake执行编译的时候,默认使用/usr/bin目录下的gcc/g++去进行编译,很多时候我们的库文件是用新版本的gcc编译的,所以会出现莫名其妙的错误,但是错误会包含 gcclib版本之类的信息。

    自己装的gcc一般目录在/usr/local/bin目录下,所以需要制定gcc的目录

    export CC=/usr/local/bin/gcc
    export CXX=/usr/local/bin/g++
    #先要清除cmake的缓存文件,再执行,针对本次安装步骤就是要清楚llvm-build中的内容 cmake /path/to/your/project make

      


     

  • 相关阅读:
    将"089,0760,009"变为 89,760,9
    单向循环链表
    双链表复习
    【C语言】scanf()输入浮点型数据
    【C语言】一元二次方程(求实根和虚根)
    输入一个三位正整数,输出百位数,十位数,个位数
    输入身份证号,输出出生日期
    比较四个数的大小
    比较三个数的大小
    比较两个数的大小
  • 原文地址:https://www.cnblogs.com/robinunix/p/12457685.html
Copyright © 2020-2023  润新知