.configure スクリプトを使用して簡単にインストールできるようにすることで、難解な科学 F77 プログラムを現代の世界に更新しようとしています。ただし、これは宣伝されているよりも難しいことが証明されています。私が 21 世紀に引きずり込んでいるプログラムには、SuperMongo プロット ライブラリが必要です。必要な SuperMongo ライブラリ (libplotsub.a、libdevices.a、および libplotsub.a、libdevices.a、およびlibutils.a) 親切な魂にコードの中身を見てもらうのではなく、スケルトン github リポジトリ ( https://github.com/Acetylene5/autoconf_testing ) を作成しました。
メイン プログラムは test.f で、junk.f ファイルを呼び出します。どちらのファイルにも、Stuff.com 共通ブロックが含まれています。ファイル jump.f は 2 つの関数を呼び出します。1 つ (dcopy) は LAPACK ライブラリからのもので、もう 1 つ (drawcurs) は SuperMongo プログラムからのものです。私がこれを行った理由は、私が石器時代から早送りしているこのプログラムがこれらの両方のライブラリを使用しているためです。
インターウェブで LAPACK マクロ (ax_lapack.m4) を見つけました。これは、私のシステムで LAPACK ライブラリを見つけているようです。この .m4 ファイルを ax_supermongo.m4 にコピーして、必要な名前とディレクトリを変更しようとしました。ただし、私は M4 の専門家ではないため、これが私の意図どおりに機能しているかどうかはわかりません。./configure の出力を見ると、sm_graphics ファイル (ax_supermongo.m4 によって SM ライブラリの場所に使用されるトークン supermongo ルーチン) が見つからないように見えるため、そうではないと思います。
deen@aida44170:~/Code/FORTRAN/testing/autoconf/master> autoreconf -i
deen@aida44170:~/Code/FORTRAN/testing/autoconf/master> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether the Fortran 77 compiler works... yes
checking for Fortran 77 compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU Fortran 77 compiler... no
checking whether /usr/local2/misc/iraf/iraf/unix/hlib/f77.sh accepts -g... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... yes
checking for dgemm_ in -ldgemm... no
checking for sgemm_ in -lmkl... no
checking for sgemm_... (cached) no
checking for sgemm_ in -lcxml... no
checking for sgemm_ in -ldxml... no
checking for sgemm_ in -lscs... no
checking for sgemm_ in -lcomplib.sgimath... no
checking for sgemm_ in -lblas... (cached) yes
checking for sgemm_ in -lessl... no
checking for sgemm_ in -lblas... (cached) yes
checking build system type... x86_64-suse-linux-gnu
checking host system type... x86_64-suse-linux-gnu
checking how to get verbose linking output from /usr/local2/misc/iraf/iraf/unix/hlib/f77.sh... configure: WARNING: cannot determine how to obtain linking information from /usr/local2/misc/iraf/iraf/unix/hlib/f77.sh
checking for Fortran 77 libraries of /usr/local2/misc/iraf/iraf/unix/hlib/f77.sh...
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, extra underscore
checking for cheev_... no
checking for cheev_ in -llapack... yes
checking for sm_graphics__... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
私のシステムでは、Supermongo ライブラリは /usr/local/misc/sm/sm2_4_36/lib/ にあります。
autoconf を取得してこのディレクトリを調べる方法、またはコマンドライン変数を使用してここにディレクトリを渡す方法に関する提案はありますか?
さらに情報が必要な場合はお知らせください。
ケーシー