Linux下手动编译shogun

手动编译shogun,若是按照直接按照官网上的步骤进行,会踩很是多的坑,下面分享一下在下的编译过程,但愿能为阁下提供些许借鉴。python

1. git clone https://github.com/shogun-toolbox/shogun.gitlinux

这里是从服务器上下载shogun的工具包。Git命令若是没有安装,能够经过apt-get install git进行安装。下载完成后,当前目录下会有一个名为shogun的文件夹。c++

2. cd shogungit

这与官网的第二步不一样,由于若是按照官网所述的步骤,第二步会报错。github

3. git submodule update --init服务器

4. mkdir build工具

5. cd buildui

6. cmake -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 \code

               -DPYTHON_LIBRARY=/usr/lib/python3.5/config-x86_64-linux-gnu/libpython3.5.so \get

               -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \

              -DPYTHON_PACKAGES_PATH=/usr/local/lib/python3.5/site-packages \

              -BUILD_META_EXAMPLES=ON \

             -DUSE_SVMLIGHT=ON \

            -DINTERFACE_PYTHON=ON ..

通常这一步会报错,称找不到依赖swig和ccache,ccache能够直接经过apt-get install ccache进行安装,swig虽然也能够经过此种方式安装,但安装的是swig 3.0.8,而shogun要求的是swig 3.0.12,因此须要手动安装。在手动安装swig 3.0.12以前,记得将其余swig版本删除哦,否则依然会报相同的错误呢!若是swig和ccache都安装正确,但cmake还报错或者报警告的话,说明cmake版本有问题,shogun项目自己使用的cmake3.2。

7. make

我在make过程当中也报错,缘由主要是变量的定义与声明,其本质缘由是c++编译器的问题。由于linux系统自带的c++编译器通常都是4.8版本的,但shogun项目中不少代码用到了5.0以上的特性,因此才会报错。这时只须要将c++编译器更新到5.0以上便可解决问题。

8. make install

9. 设置环境变量(修改/etc/profile文件)

  • 设置libshogun.so的路径,通常在/usr/local/lib/下,因此LD_LIBRARY_PATH设置为:
           export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  • 设置shogun.py的路径,通常在/usr/local/lib/python3.5/site-packages/下,因此PYTHONPATH设置为:
          export PYTHONPATH=/usr/local/lib/python3.5/site-packages/:$PYTHONPATH

这里容易出错的地方就是,官网上介绍设置变量LD_LIBRARY_PATH和PYTHONPATH时,路径中带上了文件libshogun.so和shogun.py, 但这会致使该环境变量失效的,由于这两个变量应该是一个文件夹路径而不是文件。

相关文章
相关标签/搜索