[Gauche-devel-jp] Gauche-gl-0.3.1 make check... I got an error.

Back to archive index

Katsutoshi Itoh cut-s****@maste*****
2004年 12月 19日 (日) 18:03:08 JST


伊東です。

NetBSD 2.0 への移行をやっているところです。
現状 Gauche-gl が check で落ちる状況です。

cut-sea @ jini> uname -rms
NetBSD 2.0 i386

cut-sea @ jini> setenv | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/lib:/usr/pkg/lib:/usr/X11R6/lib:/usr/lib

cut-sea @ jini> gosh -V
Gauche scheme interpreter, version 0.8.3 [euc-jp]

cut-sea @ jini> gauche-config --reconfigure
./configure '--with-slib=/usr/pkg/share/slib' '--with-local=/usr/pkg' \
            '--with-prefix=/usr/local' '--enable-ipv6' \
            '--with-rpath=/usr/local/lib:/usr/pkg/lib:/usr/lib' \
            '--with-iconv=/usr/pkg'

Gauche-0.8.3 は上の configure で make check まで全Pass。
インストール済。
いくつかこれまでに書いたスクリプトを実行してみて問題なさそう。

Gauche-gtk-0.4.1 も make check まで全Pass。
インストール済。example のサンプルも動作確認。

ところが、Gauche-gl-0.3.1 が make check でエラー発生。

cut-sea @ jini> make check
cd src; make all
cd doc; make all
cd src; make check
/usr/local/bin/gosh -I. -I../lib test-math3d.scm > test.log
Testing gl.math3d ...                                            passed.
/usr/local/bin/gosh -I. -I../lib test.scm >> test.log
Testing GL ...                                                   *** ERROR: failed to link "libgauche-gl" dynamically: /usr/pkg/lib/libGL.so.1: Undefined PLT symbol "XFreePixmap" (symnum = 22)
Stack Trace:
_______________________________________
  0  (%require feature)
        At line 52 of "/usr/local/share/gauche/0.8.3/lib/gauche-init.scm"
*** Error code 70

Stop.
make: stopped in /home/cut-sea/compile/Gauche-gl-0.3.1/src
*** Error code 1

Stop.
make: stopped in /home/cut-sea/compile/Gauche-gl-0.3.1

こんな風にこれまでも良く見た様なエラーです。

libGL.so.1 ってのに XFreePixmap が含まれてないのか?
まぁ今までの経験からするとあるんだろうけど念のため。

cut-sea @ jini> nm /usr/pkg/lib/libGL.so.1 | grep XFree
001c8d0c t Fake_glXFreeContextEXT
001c91d3 t Fake_glXFreeMemoryNV
         U XFree
         U XFreeColors
         U XFreeFontInfo
         U XFreeGC
         U XFreePixmap         <<== これ
001c47b7 T glXFreeContextEXT
001c55d2 T glXFreeMemoryNV

ありますよね。

cut-sea @ jini> ldd libgauche-gl.so 
libgauche-gl.so:
         -lstdc++.5 => /usr/lib/libstdc++.so.5
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lgcc_s.1 => /usr/lib/libgcc_s.so.1
         -lGLU.1 => /usr/pkg/lib/libGLU.so.1
         -lGL.1 => /usr/pkg/lib/libGL.so.1
         -lcrypt.0 => /usr/lib/libcrypt.so.0
         -lutil.7 => /usr/lib/libutil.so.7
         -lgauche => /usr/local/lib/libgauche.so
         -lICE.6 => /usr/X11R6/lib/libICE.so.6
         -lSM.6 => /usr/X11R6/lib/libSM.so.6
cut-sea @ jini> ldd libgauche-glut.so 
libgauche-glut.so:
         -lglut.3 => /usr/pkg/lib/libglut.so.3
         -lstdc++.5 => /usr/lib/libstdc++.so.5
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lgcc_s.1 => /usr/lib/libgcc_s.so.1
         -lGLU.1 => /usr/pkg/lib/libGLU.so.1
         -lGL.1 => /usr/pkg/lib/libGL.so.1
         -lcrypt.0 => /usr/lib/libcrypt.so.0
         -lutil.7 => /usr/lib/libutil.so.7
         -lgauche => /usr/local/lib/libgauche.so
         -lICE.6 => /usr/X11R6/lib/libICE.so.6
         -lSM.6 => /usr/X11R6/lib/libSM.so.6

という感じで問題なさそうな気がする。
これまでの感じからmake 自体は通っているので例によって
make check 時点でのロードパス設定とかその辺の問題だけと思って、
とりあえずインストールしてみました。
結果はインストール後に gl や gl.glut を use しようとすると同じエラーを食らいます。

cut-sea @ jini> gosh
gosh> (use gl)
*** ERROR: failed to link "libgauche-gl" dynamically: /usr/pkg/lib/libGL.so.1: Undefined PLT symbol "XFreePixmap" (symnum = 22)
Stack Trace:
_______________________________________
  0  (%require feature)
        At line 52 of "/usr/local/share/gauche/0.8.3/lib/gauche-init.scm"
gosh> (use gl.glut)
*** ERROR: failed to link "libgauche-glut" dynamically: /usr/pkg/lib/libglut.so.3: Undefined PLT symbol "XFreePixmap" (symnum = 22)
Stack Trace:
_______________________________________
  0  (%require feature)
        At line 52 of "/usr/local/share/gauche/0.8.3/lib/gauche-init.scm"

ところが、一回 gtk を use してやると gl だけは use できる。ってのが謎。

gosh> (use gtk)
(#<module gtk> #<module gauche.interactive>)
gosh> (use gl)
(#<module gl> #<module gtk> #<module gauche.interactive>)
gosh> (use gl.glut)
*** ERROR: failed to link "libgauche-glut" dynamically: /usr/pkg/lib/libglut.so.3: Undefined PLT symbol "XmuLookupStandardColormap" (symnum = 325)
Stack Trace:
_______________________________________
  0  (%require feature)
        At line 52 of "/usr/local/share/gauche/0.8.3/lib/gauche-init.scm"

どこで落ちるのか見るのに /usr/local/share/gauche/0.8.3/lib/gl.scm を一個ずつ評価すると、
予想通り (dynamic-load "libgauche-gl" :export-symbols #t) ここでエラーが出てました。

毎回似たようなところで申し訳ないのですが、どう調べて行けは良いでしょうか?




Gauche-devel-jp メーリングリストの案内
Back to archive index