源码地址https://github.com/facebook/fblualib
整个安装教程都建立在你没有ROOT权限的情况下的,所以一切的安装都需要你打开shell脚本,一步步执行里面的安装指令,并且要修改很多因为没有root权限而造成的问题。
install_all.sh中有些库是需要apt-get安装的,这里略去不讲,主要讲folly, fbthrift, thpp, fblualib的安装
选择一个路径(your-path)来存放源码编译出来的库,your-path下建立bin lib include文件夹
下载四个库(folly, fbthrift, thpp, fblualib)的开源代码
git clone -b v0.35.0 --depth 1 https://github.com/facebook/folly
git clone -b v0.24.0 --depth 1https://github.com/facebook/fbthrift
git clone -b v1.0https://github.com/facebook/thpp
git clone -b v1.0 https://github.com/facebook/fblualib
Folly安装方法
cd $dir/folly/folly
autoreconf -ivf
./configure --prefix=/your-path
make
make install
添加环境变量PATH(添加your-path/bin)以及LD_LIBRARY_PATH(添加your-path/lib)
Fbthrift 安装方法
cd $dir/fbthrift/thrift
autoreconf -ivf
./configure --prefix=/your-path --with-folly=/your-pathPY_INSTALL_HOME=/your-path # 需要指定folly的安装目录以及fbthrift的python库的输出目录
make
make install
THPP 安装方法
cd $dir/thpp/thpp
打开build.sh, 下载gtest.zip
mkdir build
安装thpp需要安装好Folly, Torch, Thrift,需要修改cmake的配置信息来告诉系统这三个库在什么位置,修改方法如下:
cd cmake,修改Findxx.cmake的路径(需要大家了解一些CMAKE的知识)
FindFolly.cmake
SET(FOLLY_LIBRARY "/your-path/lib")
SET(FOLLY_INCLUDE_DIR "/your-path/include")
FindTorch.cmake
需要改环境变量,引到一个有torch的环境变量下,比如我在bashrc中添加环境变量
. /home/user02/torch/install/bin/torch-activate,其中torch安装在user02下
FindThrift.cmake
SET(THRIFT_LIBRARY "/your-path/lib")
SET(THRIFT_CPP2_LIBRARY "/your-path/lib")
SET(THRIFT_INCLUDE_DIR "/your-path/include")
然后需要添加thrift_compiler到python的库中,不然会出现python找不到thrift_compiler module的错误,打开bashrc,输入:
export PYTHONPATH=/your-path/lib/python/:$PYTHONPATH
注释掉CMakeLists.txt中ADD_SUBDIRECTORY("test") 因为test文件写的有问题,但是这只是测试脚本,所以可以不编译
然后进入build文件夹执行
cmake ..
make
修改cmake_install.cmake 将SET(CMAKE_INSTALL_PREFIX "/usr/local")中的路径修改为/your-path
FBLuaLib安装方法
cd $dir/fblualib/fblualib
也是要修改cmake下面的FindXX.cmake方法见安装thpp
FindTHPP.cmake
SET(THPP_LIBRARY "/your-path/lib")
SET(THPP_INCLUDE_DIR "/your-path/include")
然后进入build文件夹执行
cmake ..
make
修改cmake_install.cmake 将SET(CMAKE_INSTALL_PREFIX "/usr/local")中的路径修改为/your-path
bashrc添加环境变量
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/your-path/include
C_INCLUDE_PATH=$C_INCLUDE_PATH:/your-path/include
安装CRNN : https://github.com/bgshih/crnn 用来测试fblualib安装成功与否
修改CMakeLists.txt 添加路径
SET(THPP_LIBRARY "/your-path/lib")
SET(THPP_INCLUDE "/your-path/include")
其余的安装指令build_cpp.sh的代码