同様の質問のいずれについても、私の問題に対する有効な回答が見つからなかったので、もう一度質問します。
私のコンピュータは Mac OSX 10.8 Mountain Lion です。gfortran を使用して Fortran プログラムをビルドしようとしていますが、次のようなエラーが発生します。
gfortran-mp-4.7 -O2 -c constants.f90
gfortran-mp-4.7 -O2 -c utils.F90
...(more source files)
ar -r libcamb.a constants.o utils.o ...(more source files)
/opt/local/bin/ranlib: file: libcamb.a(constants.o) has no symbols
gfortran-mp-4.7 -DMATRIX_SINGLE -O2 -I../camb -I../multinest -DDR71RG -DNOWMAP -c utils.F90
gfortran-mp-4.7 -DMATRIX_SINGLE -O2 -I../camb -I../multinest -DDR71RG -DNOWMAP -c ParamNames.f90
gfortran-mp-4.7 -DMATRIX_SINGLE -O2 -I../camb -I../multinest -DDR71RG -DNOWMAP -c Matrix_utils.F90
gfortran-mp-4.7 -DMATRIX_SINGLE -O2 -I../camb -I../multinest -DDR71RG -DNOWMAP -c settings.f90
gfortran-mp-4.7 -DMATRIX_SINGLE -O2 -I../camb -I../multinest -DDR71RG -DNOWMAP -c GetDist.f90
gfortran-mp-4.7 -o ../getdist utils.o ParamNames.o Matrix_utils.o settings.o GetDist.o -L../camb -lcamb -llapack -latlas -Wl,-framework -Wl,accelerate -L/opt/local/lib -lgsl -lgslcblas -DMATRIX_SINGLE -O2 -I../camb -I ../multinest -DDR71RG -DNOWMAP
ld: warning: ignoring file ../camb/libcamb.a, file was built for archive which is not the architecture being linked (x86_64): ../camb/libcamb.a
Undefined symbols for architecture x86_64:
<<long list of undefined functions that are defined in the library that was ignored>>
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
arch
i386 を返しuname -a
、最後に x86_64 を表示します。
ライブラリをビルドし、同じコンパイラを使用したばかりなのに、アーキテクチャが間違っているために無視していると言うのはなぜですか?