Truffe Champagne
truff****@gmail*****
2006年 7月 31日 (月) 15:28:45 JST
> > uim-1.2.0-beta を普通に configure, make でビルドすると、make の途中で、 > > ===================== > > $ make > > (中略) > > make[1]: Leaving directory `/home/monodera/tmp/uim/uim-1.2.0-beta/uim' > > Making all in scm > > make[1]: Entering directory `/home/monodera/tmp/uim/uim-1.2.0-beta/scm' > > make -C ../uim uim-module-manager && \ > > LIBUIM_SCM_FILES=/home/monodera/tmp/uim/uim-1.2.0-beta/scm > > LIBUIM_PLUGIN_LIB_DIR=/home/monodera/tmp/uim/uim-1.2.0-beta/scm/.././uim/.libs > > ../uim/uim-module-manager \ > > --path ../scm --register "pyload" "anthy" "skk" "tcode" > > "tutcode" "byeoru" "hangul" "viqr" "ipa-x-sampa" "latin" > > make[2]: Entering directory `/home/monodera/tmp/uim/uim-1.2.0-beta/uim' > > make[2]: Leaving directory `/home/monodera/tmp/uim/uim-1.2.0-beta/uim' > > /home/monodera/tmp/uim/uim-1.2.0-beta/uim/.libs/lt-uim-module-manager: > > symbol lookup error: > > /home/monodera/tmp/uim/uim-1.2.0-beta/uim/.libs/lt-uim-module-manager: > > undefined symbol: strlcpy > > make[1]: *** [installed-modules.scm] エラー 127 > > make[1]: Leaving directory `/home/monodera/tmp/uim/uim-1.2.0-beta/scm' > > make: *** [all-recursive] エラー 1 > > ===================== > > という感じでエラーになります。 > > 環境は、opensuse 10.1で、gcc 4.1.0 です。 > > ちなみに、mandriva 2006 でもやってみましたが、 > > こちらでは正しくコンパイルされ、うまく動いております。 > > ですので、こちらの環境の問題かもしれませんが、 > > なにか解決法がありましたら教えていただけるとありがたいです。 > > opensuse のシステムにはひょっとして strlcpy があるのでしょうか? > ./configure 後に作成される uim/config.h の HAVE_STRLCPY は > どのように定義されているでしょうか? 該当個所は、 $ grep HAVE_STRLCPY uim/config.h /* #undef HAVE_STRLCPY */ です。 $ ./configure したときに該当すると思われるメッセージは、 checking for strlcpy... no です。 なので、システム上には発見できてないのだと思います。 なお、glibcのバージョンは、 $ rpm -q glibc glibc-2.4-31.1 です。たびたびお手数をお掛けしますが、よろしくお願いします。 > もし HAVE_STRLCPY 1 になっているのであれば、glibc には strlcpy は > 無いはずなので、どのライブラリに strlcpy があるのか確認頂けますか? > おそらくそのライブラリをリンクすれば解決できると思います。 > -- 小野寺