Shiro Kawai
shiro****@lava*****
2005年 4月 20日 (水) 18:39:23 JST
From: Makoto Satoh <makot****@yahoo*****> Subject: [Gauche-devel-jp] undefined symbol ... Date: Wed, 20 Apr 2005 17:10:18 +0900 (JST) > makoto @ umeko:~/Gauche-gd$ make check > /usr/local/bin/gosh -I. test.scm > test.log > Testing gd ... *** ERROR: failed to link "gd" dynamical > ly: ./gd.so: undefined symbol: gdImageDestroy > Stack Trace: > _______________________________________ > make: *** [check] エラー 70 > > どうやって調べていけば良いでしょうか? たいていは、次のどちらかです。 (1) 綴を間違えていて、"gdImageDestroy" なんて関数は実は存在しない (2) "gdImageDestroy" を含むライブラリがリンクされてない 今回の場合、綴は合ってるみたいなんで(1)は無いでしょう。 > $ ldd gd.so > libgauche.so.0 => /usr/local/lib/libgauche.so.0 (0x40023000) > libdl.so.2 => /lib/tls/libdl.so.2 (0x400ec000) > libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0x400ef000) > libutil.so.1 => /lib/tls/libutil.so.1 (0x4011c000) > libm.so.6 => /lib/tls/libm.so.6 (0x4011f000) > libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40141000) > libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40150000) > libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4016f000) > libpng12.so.0 => /usr/lib/libpng12.so.0 (0x401dc000) > libz.so.1 => /usr/lib/libz.so.1 (0x40201000) > libc.so.6 => /lib/tls/libc.so.6 (0x40213000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) で、実際、ここでlibgd.soが出てないですから、libgdがリンクされてないってことです。 gdImageDestroyだけじゃなく、gd*系は全て未定義になってて、たまたま 最初に表れたgdImageDestroyがエラーメッセージに出てきただけでしょう。 gdlib-confg --libsの出力はどうなりますか。 --shiro