minimac3のビルドとダイナミックリンクライブラリエラー
minimac3 をbuildしたいが、gcc7.2ではbuildがうまくいかなかった。どうやら内部でlibStatGenというライブラリを使用しているが、これが古い記法で書かれているらしく、gcc7.2では逆に下のエラーが出てbuildできなかった。 Parameters.cpp: In member function ‘virtual void LongParameters::Status()’: Parameters.cpp:573:25: error: use of an operand of type ‘bool’ in ‘operator++’ is deprecated [-Werror=deprecated] legacy_count++; ^~ cc1plus: all warnings being treated as errors make[3]: *** [obj/Parameters.o] Error 1 make[2]: *** [general] Error 2 make[1]: *** [../Library/libStatGenForMinimac3/libStatGen.a] Error 2 make[1]: Leaving directory `/home/Minimac3/src' make: *** [src] Error 2 探すと legacy_count の型を int にしたらよいとかいうのも見つけたけど、そこを直してもまたエラーが。結局やったことは libStatgen をcloneしてきてlibStatgen/generalをMinimac3/Liberary/libStatgenforMinimac/generalと入れ替えて再度build。通ったと思ったけど実行しようとすると ./Minimac3: /opt/gcc-4.9.1/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./Minimac3) みたいなエラー。ダイナミックリンクライブラリが古い(‘Д’) これには以前も遭遇しており、解決したいところではあった。調...