最近、アルマジロをバージョン 5.200.1 に更新しましたが、コードをコンパイルしようとしたときに
g++ -std=c++11 -m64 -O3 -Wall -I. -I/opt/OpenBLAS/include -fopenmp -o code.cpp.o -c code.cpp
g++ -std=c++11 -m64 -O3 -Wall -I. -I/opt/OpenBLAS/include -fopenmp -o main.cpp.o -c main.cpp
g++ -std=c++11 -m64 -O3 -o code.cpp.o main.cpp.o -lgomp -L/opt/OpenBLAS/lib -lopenblas -larmadillo
リンクの最終段階でエラー メッセージが表示されました
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/libarmadillo.so: 「pthread_atfork」への未定義の参照
collect2: エラー: ld が 1 つの終了ステータスを返しました
make: *** [a.out] エラー 1
このエラーは、Ubuntu 14.04LTS + gcc 4.9.2 を搭載したマシンに表示されます。Armadillo 自体は OpenBLAS 0.2.14 とリンクされています (インストールは Armadillo が提供する手順に従いました)。
このようなエラーは、私の macosx ラップトップ (同じライブラリ) では発生しません。それは私のubuntuマシンに何か問題があることを意味します。Armadillo 4.650.2 (このバージョンは以前は機能していました) を再インストールしようとしましたが、同じエラーが表示され続けました (古いバージョンは以前のように機能しません)。これらのライブラリを更新する前に行った唯一のことは、ubuntu マシンの「apt-self update」と「apt-self upgrade」だけでした。
この問題を解決するための提案はありますか?