所以我正在尝试使用 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'