g++でのライブラリを指定する順番でハマる
g++で簡単なプログラムを実行するのに, "/usr/lib/libgsl.so: undefined reference to 'cblas_ctrmv'"などのエラーが大量に出て困った.
調べると以前までは特に問題なかったが, ライブラリオプションを指定する順番によってエラーが生じるらしい.
つまり, "-lm -lgslcblas -gsl"はだめだが, "-lgsl -lgslcblas -lm"なら大丈夫だった.
ちなみにautotoolsを使おうと思い, また同様の問題が生じた. 生成されるMakefile内のLIBSは, configure.inもしくは.acに書くAC_CHECK_LIBで指定したのと"逆順"となるようなので注意が必要.