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, 但這會致使該環境變量失效的,由於這兩個變量應該是一個文件夾路徑而不是文件。

相關文章
相關標籤/搜索