zoukankan      html  css  js  c++  java
  • Linux下手动编译shogun

    手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴。

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

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

    2. cd shogun

    这与官网的第二步不同,因为如果按照官网所述的步骤,第二步会报错。

    3. git submodule update --init

    4. mkdir build

    5. cd build

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

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

                   -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, 但这会导致该环境变量失效的,因为这两个变量应该是一个文件夹路径而不是文件。

  • 相关阅读:
    转--- 一些概念不错的理解
    python 生产者 --- 消费者
    python GUI 之 tkinter
    读DataSnap源代码(二)
    读DataSnap源代码(一)
    FireDAC探索 (二)
    FireDAC内部初探
    C++Builder XE7 中“匿名”方法实现
    DelphiXE7 Datasnap TDSClientCallbackChannelManager内部实现初探
    C++ Builder使用VC DLL
  • 原文地址:https://www.cnblogs.com/no-tears-girl/p/10456691.html
Copyright © 2011-2022 走看看