[Anthy-dev 3098] Re: uim-1.2.0-beta で undefined symbol: strlcpy

Zurück zum Archiv-Index

Truffe Champagne truff****@gmail*****
2006年 7月 31日 (月) 17:44:09 JST


06/07/31 に Etsushi Kato<ek.ka****@gmail*****> さんは書きました:
> On 7/31/06, Truffe Champagne <truff****@gmail*****> wrote:
> > 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: uim_strlcpy
> > make[1]: *** [installed-modules.scm] エラー 127
>
> うーん、なんでしょう。それでは、uim/ に入って make して場合の
> uim-module-manager のリンクのログを見せてもらえますか?
>
> /bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2 -O2 -pipe -Wall
> -stpedantic -Wchar-subscripts -Wmissing-declarations -Wredundant-decls
> -Wmototypes -Wnested-externs -Wpointer-arith -Wcast-align
> -Wsign-compare  odule-manager  uim_module_manager-uim-module-manager.o
> libuim.la ../repeplace.la -ldl
> gcc -g -O2 -O2 -pipe -Wall -std=gnu89 -pedantic -Wchar-subscripts
> -Wmisarations -Wredundant-decls -Wmissing-prototypes -Wnested-externs
> -Wpoin -Wcast-align -Wsign-compare -o .libs/uim-module-manager
> uim_module_manmodule-manager.o  ./.libs/libuim.so
> ../replace/.libs/libreplace.a -ldl
> creating uim-module-manager
>
> こんな感じになるはずです。

該当個所は

/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2 -O2 -pipe -Wall
-std=gnu89 -pedantic -Wchar-subscripts -Wmissing-declarations
-Wredundant-decls -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wcast-align -Wsign-compare   -o uim-module-manager
uim_module_manager-uim-module-manager.o libuim.la
../replace/libreplace.la -ldl
gcc -g -O2 -O2 -pipe -Wall -std=gnu89 -pedantic -Wchar-subscripts
-Wmissing-declarations -Wredundant-decls -Wmissing-prototypes
-Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -o
.libs/uim-module-manager uim_module_manager-uim-module-manager.o
./.libs/libuim.so ../replace/.libs/libreplace.a -ldl
creating uim-module-manager

です。

あと、nm replace/.libs/libreplace.a してみて
> uim_strlcpy が export されているかどうか確認頂けますか?

nm というコマンドを初めて知りました。
$ nm replace/.libs/libreplace.a

strsep.o:

getpeereid.o:
         U _GLOBAL_OFFSET_TABLE_
00000000 T __i686.get_pc_thunk.bx
00000000 T getpeereid
         U getsockopt

setenv.o:

strlcpy.o:
00000000 T uim_strlcpy

strlcat.o:
         U _GLOBAL_OFFSET_TABLE_
00000000 T __i686.get_pc_thunk.bx
         U strlen
00000000 T uim_strlcat

と出力されました。

小野寺



Anthy-dev メーリングリストの案内
Zurück zum Archiv-Index