ikaです。 お手間を取らせて申し訳ありません。
--- Tadamasa Teranishi <[メールアドレス保護]> wrote: > 寺西です。 > > [メールアドレス保護] > wrote: > > > > > [メールアドレス保護] > > > wrote: > > > > > > > > ロードしてから、 > > > > > > > ロードしてから?って、いったい何をしたのでしょう。 > > ...無視ぜず答えてくださいな。 すみません。 ldd /usr/local/lib/libkakasi.so のようなコマンドを行ったと思います。 > kakasi_do が未定義ということは、libkakasi.so > が正しく作られていない > ということかもしれません。 > KAKASI > をコンパイルした時に何もエラーはでていませんか? もう一回makeしてみましたが、エラーらしいものは、でません でした。 # make make all-recursive make[1]: ディレクトリ `/home/fedora/kakasi' に入ります Making all in src make[2]: ディレクトリ `/home/fedora/kakasi/src' に入りま す make[2]: `all' に対して行うべき事はありません. make[2]: ディレクトリ `/home/fedora/kakasi/src' から出ま す Making all in lib make[2]: ディレクトリ `/home/fedora/kakasi/lib' に入りま す make[2]: `all' に対して行うべき事はありません. make[2]: ディレクトリ `/home/fedora/kakasi/lib' から出ま す make[2]: ディレクトリ `/home/fedora/kakasi' に入ります make[2]: ディレクトリ `/home/fedora/kakasi' から出ます make[1]: ディレクトリ `/home/fedora/kakasi' から出ます # make install Making install in src make[1]: ディレクトリ `/home/fedora/kakasi/src' に入りま す make[2]: ディレクトリ `/home/fedora/kakasi/src' に入りま す /bin/sh ../mkinstalldirs /usr/local/bin /bin/sh ../libtool --mode=install /usr/bin/install -c kakasi /usr/local/bin/kakasi /usr/bin/install -c kakasi /usr/local/bin/kakasi /bin/sh ../libtool --mode=install /usr/bin/install -c mkkanwa /usr/local/bin/mkkanwa /usr/bin/install -c mkkanwa /usr/local/bin/mkkanwa /bin/sh ../libtool --mode=install /usr/bin/install -c atoc_conv /usr/local/bin/atoc_conv /usr/bin/install -c atoc_conv /usr/local/bin/atoc_conv /bin/sh ../libtool --mode=install /usr/bin/install -c rdic_conv /usr/local/bin/rdic_conv /usr/bin/install -c rdic_conv /usr/local/bin/rdic_conv /bin/sh ../libtool --mode=install /usr/bin/install -c wx2_conv /usr/local/bin/wx2_conv /usr/bin/install -c wx2_conv /usr/local/bin/wx2_conv make[2]: `install-data-am' に対して行うべき事はありませ ん. make[2]: ディレクトリ `/home/fedora/kakasi/src' から出ま す make[1]: ディレクトリ `/home/fedora/kakasi/src' から出ま す Making install in lib make[1]: ディレクトリ `/home/fedora/kakasi/lib' に入りま す make[2]: ディレクトリ `/home/fedora/kakasi/lib' に入りま す /bin/sh ../mkinstalldirs /usr/local/lib /bin/sh ../libtool --mode=install /usr/bin/install -c libkakasi.la /usr/local/lib/libkakasi.la /usr/bin/install -c .libs/libkakasi.so.2.1.0 /usr/local/lib/libkakasi.so.2.1.0 (cd /usr/local/lib && rm -f libkakasi.so.2 && ln -s libkakasi.so.2.1.0 libkakasi.so.2) (cd /usr/local/lib && rm -f libkakasi.so && ln -s libkakasi.so.2.1.0 libkakasi.so) /usr/bin/install -c .libs/libkakasi.lai /usr/local/lib/libkakasi.la /usr/bin/install -c .libs/libkakasi.a /usr/local/lib/libkakasi.a ranlib /usr/local/lib/libkakasi.a chmod 644 /usr/local/lib/libkakasi.a PATH="$PATH:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- /bin/sh ../mkinstalldirs /usr/local/include /usr/bin/install -c -m 644 libkakasi.h /usr/local/include/libkakasi.h make[2]: ディレクトリ `/home/fedora/kakasi/lib' から出ま す make[1]: ディレクトリ `/home/fedora/kakasi/lib' から出ま す make[1]: ディレクトリ `/home/fedora/kakasi' に入ります make[2]: ディレクトリ `/home/fedora/kakasi' に入ります /bin/sh ./mkinstalldirs /usr/local/bin /usr/bin/install -c kakasi-config /usr/local/bin/kakasi-config /bin/sh ./mkinstalldirs /usr/local/share/kakasi /usr/bin/install -c -m 644 ./kanwadict /usr/local/share/kakasi/kanwadict /usr/bin/install -c -m 644 ./itaijidict /usr/local/share/kakasi/itaijidict make[2]: ディレクトリ `/home/fedora/kakasi' から出ます make[1]: ディレクトリ `/home/fedora/kakasi' から出ます > $ objdump -t /usr/local/lib/libkakasi.so | grep > kakasi_do > > と実行するとどうなるでしょう。 何もでてきませんでした。 # objdump -t /usr/local/lib/libkakasi.so /usr/local/lib/libkakasi.so: file format elf32-i386 SYMBOL TABLE: 000000d4 l d .note.gnu.build-id 00000000 .note.gnu.build-id 000000f8 l d .gnu.hash 00000000 .gnu.hash 0000012c l d .dynsym 00000000 .dynsym 000001bc l d .dynstr 00000000 .dynstr 00000238 l d .gnu.version 00000000 .gnu.version 0000024c l d .gnu.version_r 00000000 .gnu.version_r 0000026c l d .rel.dyn 00000000 .rel.dyn 0000028c l d .rel.plt 00000000 .rel.plt 0000029c l d .init 00000000 .init 000002b4 l d .plt 00000000 .plt 000002f0 l d .text 00000000 .text 00000414 l d .fini 00000000 .fini 00000430 l d .eh_frame 00000000 .eh_frame 00001434 l d .ctors 00000000 .ctors 0000143c l d .dtors 00000000 .dtors 00001444 l d .jcr 00000000 .jcr 00001448 l d .data.rel.ro 00000000 .data.rel.ro 0000144c l d .dynamic 00000000 .dynamic 00001514 l d .got 00000000 .got 00001520 l d .got.plt 00000000 .got.plt 00001534 l d .bss 00000000 .bss 00000000 l d .comment 00000000 .comment 00000000 l d .debug_abbrev 00000000 .debug_abbrev 000002f0 l F .text 00000000 call_gmon_start 00000000 l df *ABS* 00000000 crtstuff.c 00001434 l O .ctors 00000000 __CTOR_LIST__ 0000143c l O .dtors 00000000 __DTOR_LIST__ 00001444 l O .jcr 00000000 __JCR_LIST__ 00001534 l O .bss 00000004 dtor_idx.5647 00001538 l O .bss 00000001 completed.5645 00000320 l F .text 00000000 __do_global_dtors_aux 000003a0 l F .text 00000000 frame_dummy 00000000 l df *ABS* 00000000 crtstuff.c 00001438 l O .ctors 00000000 __CTOR_END__ 00000430 l O .eh_frame 00000000 __FRAME_END__ 00001444 l O .jcr 00000000 __JCR_END__ 000003e0 l F .text 00000000 __do_global_ctors_aux 00000000 l df *ABS* 00000000 libdict.c 00000000 l df *ABS* 00000000 libkakasi.c 00000000 l df *ABS* 00000000 libkanjiio.c 00000000 l df *ABS* 00000000 liba2.c 00000000 l df *ABS* 00000000 libg2.c 00000000 l df *ABS* 00000000 libj2.c 00000000 l df *ABS* 00000000 libk2.c 00000000 l df *ABS* 00000000 libee2.c 00000000 l df *ABS* 00000000 libhh2.c 00000000 l df *ABS* 00000000 libjj2.c 00000000 l df *ABS* 00000000 libkk2.c 00000000 l df *ABS* 00000000 libitaiji.c 00000000 l df *ABS* 00000000 lib78_83.c 00001520 l O *ABS* 00000000 .hidden _GLOBAL_OFFSET_TABLE_ 00001448 l O .data.rel.ro 00000000 .hidden __dso_handle 00001440 l O .dtors 00000000 .hidden __DTOR_END__ 000003d7 l F .text 00000000 .hidden __i686.get_pc_thunk.bx 0000144c l O *ABS* 00000000 .hidden _DYNAMIC 00000000 w *UND* 00000000 __gmon_start__ 00000000 w *UND* 00000000 _Jv_RegisterClasses 00000414 g F .fini 00000000 _fini 00001534 g *ABS* 00000000 __bss_start 0000153c g *ABS* 00000000 _end 00001534 g *ABS* 00000000 _edata 00000000 w F *UND* 00000175 __cxa_finalize@@GLIBC_2.1.3 0000029c g F .init 00000000 _init > test.c という名前で以下のファイルを作成し、 > > ===================================ここから > #include <stdio.h> > #include "libkakasi.h" > > main() > { > kakasi_do(""); > } > ===================================ここまで > > $ gcc test.c -I /usr/local/include -L /usr/local/lib > -lkakasi > > でコンパイルした時、エラーが発生しませんか? エラーでました。 # gcc test.c -I /usr/local/include -L /usr/local/lib /tmp/cc3OuHCo.o: In function `main': test.c:(.text+0x19): undefined reference to `kakasi_do' collect2: ld はステータス 1 で終了しました エラーができれば、できるのでしょうか?↓ > できたバイナリ a.out を実行して > > $ ./a.out > > エラーがでませんか? > $ ldd a.out > > の結果は? > > libkakasi.so が問題ないとなると、あとは Perl > からの読み込み処理で > 問題が起こっているということになるかと思います。 > -- -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ _______________________________________________ Namazu-users-ja mailing list Namazu-users-ja@namazu.org http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja