メモ:OpenJDK 6 b17をFedora13でビルドする

そんなこんなで、Fedora13でビルドをやり直しました。

ビルド対象
OpenJDK 6 Build b17

ダウンロードは、http://download.java.net/openjdk/jdk6/promoted/b17/から。

OpenJDK 6 b20のビルド手順とほぼ同じ方法でビルドできました。

ただし、SunのJDKは1.6.0_16を使用しました。

あと、OpenJDK 1.6.0 b20のビルドで出なかったエラーが1個だけ出ました。幸い情報があったので解決。

../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:961: error:
'X_ShmAttach' undeclared (first use in this function)
../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:961: error:
(Each undeclared identifier is reported only once
../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:961: error: for
each function it appears in.)
make[4]: *** [/{openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o]
Error 1

jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.cの961行目の「X_ShmAttach」を「XShmAttach」に変更します。

int J2DXErrHandler(Display *display, XErrorEvent *xerr) {
   int ret = 0;
   if (xerr->minor_code == X_ShmAttach) { // ココ
       xshmAttachFailed = JNI_TRUE;
   } else {
(略)
# cd {openjdk-build-dir}
# build/linux-amd64/j2sdk-image/bin/java -version
openjdk version "1.6.0-internal"
OpenJDK Runtime Environment (build 1.6.0-internal-{user-name}_03_jan_2011_22_27-b00)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
# java -version
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.1) (fedora-37.b17.fc13-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

組込みのJDKとビルドしたJDKのバージョンが、これで揃いました。