FreeBSD-8.3 gfortran46 で c と fortran のプログラムを混在させる とき、gfortran で -fPIC オプションを使うと __i686.get_pc_thunk.bx が多重定義になるようです。例えば、下記の例で簡単に再現できます。
-- c.c -- main() { fsub_(); } -- f.f -- subroutine fsub() write(6,*) 'fsub()' return end -- makefile -- c: c.o f.o cc -L/usr/local/lib/gcc46 -o c c.o f.o -lgfortran c.o: c.c cc -c -fPIC c.c f.o: f.f gfortran -c -fPIC f.f clean: rm -f *.o c -- fortran プログラムで -fPIC を避けるか gfortran -o c c.o f.o -lc でリンクすれば回避できるようです。 FreeBSD-8.2 の gfortran45 では、この問題がありません。 平林 浩一