configure: error: libmpfr not found or uses a different ABI.

クロスコンパイラを用意していた時の話。

いまどきの gcc は、gmp, mpfr, mpc といったライブラリが必要で、一緒に作る場合は gcc のソースディレクトリの中に展開して、バージョン番号のない形にリネームしておく、とかいう話はどこにでも書いてあるけれど、mpc のコンパイル前の configure でコケる。

configure: error: libmpfr not found or uses a different ABI.

gccのconfigureの際、gcc のソースがあるのが ${SRCDIR}、コンパイルするのが ${BUILDDIR}、とすると、

$ cd ${BUILDDIR}
$ ${SRCDIR}/configure --prefixとかtargetとか指定したいオプション… 
   --with-mpfr-include=${SRCDIR}/mpfr/src 
   --with-mpfr-lib=${BUILDDIR}/mpfr/src/.libs

…とすれば回避はできる。(gcc-4.6.2で確認)

こんな指定をさせる仕様ではないと思うのだが。