1

だから私はMacportsのgnu4.7を使ってosx 10.8.2でAtlas(BLAS + LAPACK)をコンパイルしようとしています。記録のために、これは私が使用する構成です:

../path/to/configure --prefix=/opt/atlas \
--with-netlib-lapack-tarfile=/path/to/lapack-3.4.2.tgz \
--shared \
-b 64 \
-C acg gcc-mp-4.7 \
-C if gfortran-mp-4.7

最後まで進み、静的ライブラリも作成しますが、動的ライブラリの構築に失敗します:

libtool -dynamic -o ../libsatlas.dylib \
    -install_name /opt/atlas/lib/libsatlas.dylib -version-info 3.10.0 \
    -compatibility_version 3.10.0 *.o -lpthread -lm -L/opt/local/lib/gcc47/gcc/x86_64-    apple-darwin12/4.7.2/../../.. -lgfortran 
libtool: unrecognized option `-dynamic'

それは明らかに lib/Makefile と関係があります:

....
dylib:
rm -rf $(tmpd) ; mkdir $(tmpd)
cd $(tmpd) ; ar x ../liblapack.a 
cd $(tmpd) ; ar x ../libf77blas.a
cd $(tmpd) ; ar x ../libcblas.a 
cd $(tmpd) ; ar x ../libatlas.a
cd $(tmpd) ; $(LIBTOOL) -dynamic -o ../libsatlas.dylib \
    -install_name $(LIBINSTdir)/libsatlas.dylib -version-info $(VER) \
    -compatibility_version $(VER) *.o $(LIBS) $(F77SYSLIB)
rm -rf $(tmpd)
....

しかし、私はそれを機能させることができませんでした。「--mode=link」を追加しようとしましたが、それでも失敗します。

Atlas makefile の変更を提案していただけると大変助かります。

p/s/ libtool のバージョンは「libtool (GNU libtool) 2.4.2」です。

4

1 に答える 1

0

問題が解決しました。

使用済み

/usr/bin/libtool

gnu libtoolの代わりに、makeファイルを少し変更しました。

cd $(tmpd) ; $(LIBTOOL) -dynamic -o ../libsatlas.dylib \
    -install_name $(LIBINSTdir)/libsatlas.dylib -current_version $(VER) \
    -compatibility_version $(VER) *.o $(LIBS) $(F77SYSLIB)

このようにしてダイナミックライブラリが作成されます。

于 2013-03-13T19:46:21.367 に答える