[Anthy-dev 1869] libuim_la_LIBADD

アーカイブの一覧に戻る

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*****



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る