YamaKen
yamak****@bp*****
2005年 2月 22日 (火) 09:13:17 JST
ヤマケンです。 libuimのビルドで不具合が出たので報告します(r694)。 どのリビジョンからか切り分けできてないんですが、libuim.soに libintlとlibiconvがうまくリンクできなくなってしまいました。具体 的にはNEEDEDタグが欠落するようになったのでuim-sh等のlibuimをリン クするプログラムでlibintl等を見つけられずリンクに失敗します。 r694のlibuim.so: $ objdump -p uim/.libs/libuim.so.0 uim/.libs/libuim.so.0: file format elf32-i386-freebsd (snip) Dynamic Section: SONAME libuim.so.0 RPATH /usr/local/lib 数日前?の版のlibuim.so: $ objdump -p /usr/X11R6/lib/libuim.so.0 /usr/X11R6/lib/libuim.so.0: file format elf32-i386-freebsd (snip) Dynamic Section: NEEDED libintl.so.6 NEEDED libiconv.so.3 SONAME libuim.so.0 uim以外のビルド環境は以前から変わっていないはずです。 FreeBSD 5.3-RELEASE autogen.shは都合により古いDebian sid環境で動かしています。 aclocal (GNU automake) 1.7.9 libtoolize (GNU libtool) 1.5.2 autoheader (GNU Autoconf) 2.59 automake (GNU automake) 1.7.9 autoconf (GNU Autoconf) 2.59 ちょっと調べてみたところ、私の環境では以下の部分が問題になってい るようです。 uim/Makefile.am libuim_la_LIBADD = @LIBINTL@ @LIBICONV@ uim/Makefile: LIBICONV = /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib LIBINTL = /usr/local/lib/libintl.so -Wl,-rpath -Wl,/usr/local/lib LTLIBICONV = -L/usr/local/lib -liconv -R/usr/local/lib LTLIBINTL = -L/usr/local/lib -lintl -R/usr/local/lib 以下のように変更したところ以前と同様なlibuim.soが生成されるよう になりました。時間が取れないのでどのように変更するのが正しいのか 調査できませんが、ひとまず現象として報告しておきます。 ---------------------------------------------------------------- Index: uim/Makefile.am =================================================================== --- uim/Makefile.am (revision 694) +++ uim/Makefile.am (working copy) @@ -86,7 +86,7 @@ libuimincludedir = $(includedir)/uim libuim_la_LDFLAGS = -version-info 0:1:0 -export-symbols-regex uim.\* -libuim_la_LIBADD = @LIBINTL@ @LIBICONV@ +libuim_la_LIBADD = @LTLIBINTL@ @LTLIBICONV@ libuim_la_CPPFLAGS = $(uim_defs) -I$(top_srcdir) -DPKGLIBDIR=\"$(pkglibdir)\" \ -DPKGDATADIR=\"$(pkgdatadir)\" ---------------------------------------------------------------- $ objdump -p uim/.libs/libuim.so .libs/libuim.so: file format elf32-i386-freebsd (snip) Dynamic Section: NEEDED libintl.so.6 NEEDED libiconv.so.3 SONAME libuim.so.0 RPATH /usr/local/lib ------------------------------- ヤマケン yamak****@bp*****