1
私はUbuntu 14.04にArmadilloをインストールしようとしていました。
Armadilloファイルがあるフォルダのターミナルでcmake .
コマンドを実行し、make
コマンドを実行します。私は次のエラーを受け取りました。エラー:Armadilloをインストールしようとすると-fpicで再コンパイルされます
/usr/bin/ld: /usr/local/lib/libsuperlu.a(util.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/libsuperlu.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libarmadillo.so.7.800.1] Error 1
make[1]: *** [CMakeFiles/armadillo.dir/all] Error 2
make: *** [all] Error 2
これをどのように修正できますか?
ディストリビューションから適切にビルドされたバイナリパッケージを取得するには 'sudo apt-get install libarmadillo-dev'とは何が問題になりますか? –
@DirkEddelbuettel、私は新しいバージョンをインストールしようとしていました。 apt-getのSuperLuとarmadilloはかなり古いですし、armadilloのバージョンは古いsuperLuのバージョンを認識しません – hisham
それでもあなたは[現在のパッケージのソース](http://packages.ubuntu.com/)をダウンロードするよりもずっと悪くなりますyakkety/libarmadillo-dev)とそのビルド。あるいは、[Debianのソース](https://packages.debian.org/sid/libarmadillo-dev)を利用してください。 –