[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mgp-users-jp 00826] Re: libVFlib*.so* check, minor fix in mgp.man and others
- To: mgp-users-jp@mew.org
- Subject: [mgp-users-jp 00826] Re: libVFlib*.so* check, minor fix in mgp.man and others
- From: Fumitoshi UKAI <ukai@debian.or.jp>
- Date: Mon, 21 May 2001 18:36:49 +0900
- In-reply-to: <>
- Organization: Debian JP Project
- Posted: Mon, 21 May 2001 18:35:17 +0900
- References: <> <>
- Reply-to: mgp-users-jp@mew.org
- User-agent: Wanderlust/2.4.1 (Stand By Me) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (i386-debian-linux-gnu) MULE/4.0 (HANANOEN)
At Mon, 21 May 2001 16:40:19 +0900,
Yoshifumi Nishida wrote:
> >> * configure.in で
> >>
> >> shlib2=`echo $dir/lib/libVFlib2.so* | head -1 | sed -e 's/.*\///'`
> >>
> >> などとして libVFlib2.so* をチェックしてますが、これだと runtime library
> >> の libVFlib2.so.24.0.3 を検出してしまい、開発用の library libVFlib2.so
> >> がなくてもここのチェックが通ってしまい、その後の
> >>
> >> AC_CHECK_LIB($ac_cv_vf_libname, VF_Init,
> >> [mgp_cv_vflib_a=$ac_cv_vf_libpath],
> >> [echo "Fatal: $ac_cv_vf_libpath not found"
> >> exit 1])
> >> で Fatal: libVFlib2.so.24.0.3 not found で終了してしまいます。
> >> (/usr/lib/libVFlib2.so.24.0.3 はあるにもかかわらず)
> >>
> >> これは
> >> shlib2=`echo $dir/lib/libVFlib2.so | head -1 | sed -e 's/.*\///'`
> >> でチェックした方がいいと思います。
>
> すみません。devianは使っていないせいかちょっと意味がとれません。。。
> もうちょっとconfigureがうまくいかない状況を説明していただけないでしょうか?
debianでは libraryなどのパッケージは、runtime libraryと development files
2つにわけて作られています。vflib2 の場合
vflib2 - runtime library
vflib2-dev - development files
となっています。runtime library には 実行に必要な *.so が含まれていて
development files の方に header filesとかlinkに必要な *.a,*.so が
含まれています。この場合
vflib2 には 実行するために必要な library
/usr/lib/libVFlib2.so.24.0.3
(ldconfig で soname に対応した /usr/lib/libVFlib2.so.24がつくられる)
vflib2-dev には 開発に必要なファイル
/usr/include/VF.h
/usr/lib/libVFlib2.a
/usr/lib/libVFlib2.so (-> libVFlib2.so.24.0.3)
が含まれていることになります。したがって vflib2 だけをインストールして
vflib2-dev をインストールしていない場合 (ほとんどのユーザは vflib2 を
使ったアプリケーションをビルドしたりするわけではないので非常によくある
パターンです) 元の configure だと
/usr/lib/libVFlib2.so.24.0.3 はみつかる
AC_CHECK_LIB($ac_cv_vf_libname, VF_Init,
[mgp_cv_vflib_a=$ac_cv_vf_libpath],
[echo "Fatal: $ac_cv_vf_libpath not found"
exit 1])
では実際に link するための libVFlib2.{so,a} を必要としているために
configure がエラーになる。
で、もちろん エラーにはなるのですがこの時に libVFlib2.so.24.0.3 があるのに
Fatal: libVFlib2.so.24.0.3 not found
となります。
そもそもconfigureで見つけるべきなのは libVFlib2.{so,a} であって
libVFlib2.so.* ではないのではないのですか? というのが元のメールの内容です。
--
鵜飼文敏