星期三, 11月 21, 2007

Open SuSe 10.3 Java 執行問題

java: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

網路上雖然有修改原始碼將 Xlib/XCB 的 assert 檢查碼註解掉重新編譯,不過我還是選擇比較不用大腦的作法,方式如下:

1.依據 Sun 提供的暫時解決方法解決這一個問題(BugID : 6532373 )

For sun-java5-bin:
sed -i 's/XINERAMA/FAKEEXTN/g/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/xawt/libmawt.so

For sun-java6-bin:
sed -i 's/XINERAMA/FAKEEXTN/g/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/xawt/libmawt.so

不過我是使用 JDK 1.6.0.0.03 版的關係,因此,路徑必須要修正一下(記得用 root 權限)。

sed -i 's/XINERAMA/FAKEEXTN/g' /usr/java/java-6-sun-1.6.0.03/jre/lib/i386/xawt/libmawt.so


2. 若是使用上還是有問題,則把下面這一行環境變數輸入(建議寫到批次裡頭)。

export LIBXCB_ALLOW_SLOPPY_LOCK=1

沒有留言: