[SML 7621] Ubuntu 9.04でJunのOpenGL examplesを表示させる方法を教えてください
hirowadenden
hirowadenden @ hera.eonet.ne.jp
2009年 8月 8日 (土) 11:34:29 JST
はじめまして。
ハンドル名で失礼します、hirowadendenと申します。
今までに何度となく挫折していますが、性懲りもなくまたSmalltalkを勉強しよ
うと思っています。
Ubuntu 9.04(i386版)にVisualWorks7.6ncとJun781をインストールし、Junのイン
ストール確認のためにJun LauncherのexpamplesのCube, Benzenなどを起動した
のですが、OpenGL関連のexamplesはビューの中身が表示されません。正しく表示
するための方法もしくはヒントをご教示ください。なお、Soroban, Spiro
Design, Cartoon MovieなどOpenGLではないexamplesは正しく表示されています。
[環境]
VisualWorks7.6NC ("じゅん for Smalltalk"ページのインストール方法を参考
に、CD-ROMイメージから必要なファイルを解凍してインストール)
Jun781 ("じゅん for Smalltalk"ページのインストール方法を参考に、パーセル
からインストール)
※ libGL.so, libGLU.so, libX11.so, libXext.soが存在しないので、
/usr/local/libの下に以下のシンボリックリンクを作成:
libGL.so -> /usr/lib/libGL.so.1
libGLU.so -> /usr/lib/libGLU.so.1
libX11.so -> /usr/lib/libX11.so.6
libXext.so -> /usr/lib/libXext.so.6
上記リンク先は、さらに以下のようなシンボリックリンクになっています:
/usr/lib/libGL.so.1 -> libGL.so.1.2
/usr/lib/libGLU.so.1 -> libGLU.so.1.3.070300
/usr/lib/libX11.so.6 -> libX11.so.6.2.0
/usr/lib/libXext.so.6 -> libXext.so.6.4.0
OS: Ubuntu 9.04 (Linux 2.6.28-14-generic i686)
CPU: AMD Athlon(tm) Dual Core Processor 4850e
メインメモリ: 2GByte
チップセット: AMD 690G + ATI SB600
オンボードグラフィック: ATI Radeon X1250 (自動でメインメモリから128MByte
割当て)
ビデオドライバ: the open-source "radeon" driver
<glxinfoから抜粋の情報>
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
client glx vendor string: SGI
client glx version string: 1.4GLX version: 1.2
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 NO-TCL
OpenGL version string: 1.3 Mesa 7.4
[やったこと]
(1)"Jun Launcher"のexamplesからOpenGL関連のexampleを起動
・"Jun Launcher"のexamplesからCube, BenzenなどOpenGL関連のexampleを起動
すると、Viewfinderのウインドウが開き、メニューやホイールは表示されるが、
ビューの中身は真っ白である。
・Viewfinderのウインドウを閉じると、VisualWorksを起動したシェル画面に以
下のようなメッセージがでる。
X11 Error:
Display: 0x095809b0
Serial: 0x0000879e
Major: 154
Minor: 15
XID: 0x040000ed
GLXBadDrawable
(2)"JunOpenGLInterface example1"を"Do it"(これは正常に動作)
・"Do it"したウインドウ内にカラフルな六角形が表示され、マウスボタンをク
リックすると、ウインドウ内の表示が"Do it"する前に戻る。
(3)"JunOpenGLInterface example2"を"Do it"
・"Depth32Image"というタイトルのウインドウが開くが、ウインドウの中身は
真っ白である。
・"Depth32Image"というタイトルのウインドウが開くときに、VisualWorksを起
動したシェル画面に以下のようなメッセージがでる。(閉じるときにはメッセー
ジはでない)
X11 Error:
Display: 0x095809b0
Serial: 0x000276fb
Major: 154
Minor: 15
XID: 0x04000163
GLXBadDrawable
(4)"JunOpenGLInterface glVersion."を"Inspect it"
・a ByteStringが返されるが、中身は空('')。('1.3 Mesa 7.4'となるべき?)
(5)"JunOpenGLInterface glVersion."を"Debug it"
・Stepping intoで順に追っていくと、JunGLMesaInterface>>glGetString: でエ
ラーになり、_errorCodeはa SystemError(#'bad handle',nil)になっており、こ
こで続行(Run)すると、"Unhandled exception: bad hadle"とExceptionのウイン
ドウが開く。(4)の詳細を追うことができない。
(6)"JunOpenGLInterface gluVersion."を"Inspect it"(これは正常に動作)
・a ByteStringが返され、中身は'1.3'。
(7)"JunOpenGLInterface gluVersion."を"Debug it"
・Stepping intoで順に追っていくと、JunGLMesaInterface>>gluGetString: で
エラーになり、_errorCodeはa SystemError(#'bad handle',nil)になっており、
ここで続行(Run)すると、"Unhandled exception: bad hadle"とExceptionのウイ
ンドウが開く。(6)では正常に動作していたのに、"Debug it"すると例外が発生
してしまう。
(8)(本件とは関係ないかもしれませんが)Jun4Java729をSun jdk1.5.0_18上で実
行し、"じゅんランチャー"の実例集からキューブ, ベンゼンを起動
・デフォルトOpenGLビューがJunGLCanvasのときは正常に表示される。
・デフォルトOpenGLビューがJunGLJPanelのときはJun for Smalltalkと同じく
ビューファインダのウインドウが開きメニューやホイールは表示されるが、
ビューの中身は表示されない。
(1)〜(3)を"Debug it"で追うのは手強そうだったので、(4)〜(7)を試しました
が、普通に実行するのと、"Debug it"で実行するのでは結果が違うので分からな
くなってしまいました。
Jun4Javaでは表示できているので、Jun for SmalltalkでもOpenGLのexamplesを
表示できるのではないかと思っています。どんなことでも結構ですので、ご教示
いただきたくお願い致します。
-- hirowadenden
SML メーリングリストの案内