本文章主要讲 nifty 的安装过程,因为这次坑似乎略多,所以在这里记录下。
github 地址 : https://github.com/parapluu/nifty.git
环境:
CentOS release 6.8 (Final)
项目的README.md文件中可以看到,nifty的依赖主要是clang compiler 和 libclang
先看http://clang.llvm.org/get_started.html官方给出的安装说明。
大概需要的文件这里列下
1 | Package Version Notes |
大概分4大块来安装
1. gcc ,python 版本 。
devtoolset-3-toolchain ansible demo
python ansible demo
安装devtoolset-3-toolchain来解决GCC版本问题,安装完成之后开启就可以。
关于如何安装devtoolset-3-toolchain 可以看我的ansible demo 中关于gcc的升级和开启。
剩下的python zlib这些比较简单自己装了。
python部分也可以看我的ansible demo中关于python安装的部分。
2. cmake
wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
tar xzf cmake-3.7.1.tar.gz
cd cmake-3.7.1
./bootstrap
gmake -j$(nproc)
make install
cd ..
3. clang(这里安装的时候在make -j$(nproc) 的时候博主层出现过报错,后面的解决方式是加内存,详细的报错原因没留了,这个大家装的时候可以留意下。可能有人留意到了这里不是官方给出的安装方式,其实是一样的,只是官方的example是trunk的例子,这里是用了release版本。
wget http://llvm.org/releases/3.9.1/llvm-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/cfe-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/compiler-rt-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/clang-tools-extra-3.9.1.src.tar.xz
tar xf llvm-3.9.1.src.tar.xz
mv llvm-3.9.1.src llvm
cd llvm/tools
tar xf ../../cfe-3.9.1.src.tar.xz
mv cfe-3.9.1.src clang
cd clang/tools
tar xf ../../../../clang-tools-extra-3.9.1.src.tar.xz
mv clang-tools-extra-3.9.1.src extra
cd ../../../projects
tar xf ../../compiler-rt-3.9.1.src.tar.xz
mv compiler-rt-3.9.1.src compiler-rt
cd ../..
mkdir llvm-build
cd llvm-build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/data/software/clang3.9.1 -DLLVM_OPTIMIZED_TABLEGEN=1 ../llvm
make -j$(nproc)
make install
4. libclang.so
链接
前面都安装成功之后,在nitfy:compile的时候还会报错,那大概是报libclang.so not found, 这个问题只需要设置下环境变量 LD_LIBRARY_PATH 为libclang.so的路径就可以。
详细的解决方案看连接。
至此,整个nifty已经安装完成了, 注意前面的操作都需要在 gcc>4.8 上操作,也就是说你的devtoolset-3要一直启动着,不然会报很多奇怪的问题。