現在、インストールしようとしていますmlパックUbuntu 12.04 にインストールしました。 を実行するとmake install
、次のエラーが発生しました。
[ 0%] Built target mlpack_headers
Linking CXX shared library ../../lib/libmlpack.so
/usr/bin/ld: /usr/local/lib/libboost_program_options.a(cmdline.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libboost_program_options.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/libmlpack.so.1.0] Error 1
make[1]: *** [src/mlpack/CMakeFiles/mlpack.dir/all] Error 2
make: *** [all] Error 2
このエラーを修正して mlpack を正常にインストールするにはどうすればよいですか?
答え1
私も同じ問題を抱えていました。
sudo apt-get install libboost-math-dev libboost-program-options-dev libboost-random-dev
libboost-test-dev libxml2-dev liblapack-dev libblas-dev libarmadillo-dev
mlpackフォルダ内で以下のコマンドを実行します
mkdir build
cd build
cmake ../
makes
sudo make install
その後、実行ファイルを実行するには、これを使用してパスを設定しますリンク..... 私には効果がありました。
答え2
boostを-fPICで再コンパイルします。例: ./bjamcxxフラグ=-fPIC--without-python --without-graph_parallel --without-graph --without-wave をインストール