ã¡ã¢ï¼OpenJDK 6 ã®ãã«ãæé
OpenJDKããã«ãããã®ã§ãæé ãã¡ã¢ãã¦ããã¾ãã
ã¯ã©ã¹ãã¼ããç解ããããã«èªãã§ã¿ããã¨ã«ãã¾ããããã¤ã¯å é±ãã¯ã©ã¹ãã¼ãã®ä»çµã¿ãç¥ããªãããã§å 輩ã«è¿·æãããããæ£æä¼ã¿ã«OpenJDKã®ã³ã¼ãèªãã§ã1è¡1è¡ããã°ã§èª¬æãããã¨è¨ã渡ããã¦ãã¾ãã¾ããã
ã¡ãwã ãªwã¨æãã¾ããããã²ã¨ã¾ãèªãã§ã¿ã¾ãããã¤ãâ¦ã§ããã©ãããï¼ï¼âï½²ï¾ï½ºï½º!ï¼
- ãã«ã対象
- OpenJDK 6 Build b20
- Fedora 9 Kernel Linux 2.6.25-14.fc9.x86_64 GNOME 2.22.1
- VirtualBoxï¼ã¡ã¢ãª786MBããã£ã¹ã¯15GBã®ã¤ã³ã¹ã¿ã³ã¹ï¼on Windows 7ã使ç¨
- Web Serveræ§æã§ã¤ã³ã¹ãã¼ã«
- gcc 4.3.0 20080428
X64 only: The minimum recommended hardware for building the Linux version is an AMD Opteron class processor, at least 512 MB of RAM, and approximately 4 GB of free disk space.
OpenJDKã®ãã¦ã³ãã¼ã
openjdk-6-src-b20-21_jun_2010.tar.gzããã¦ã³ãã¼ããã¦å±éãã¾ãã
READMEã«ããã¼ãç¨ã®JDKãå ¥ãããã¨ããããmakeãã¦ã¿ã¦ãã¨ã©ã¼ã解決ãã¦ãããã¨æ¸ãã¦ããã®ã§ãããããã¾ãã
Sun JDKã®ã¤ã³ã¹ãã¼ã«
jdk1.6.0_19ãrpm.binã§ã¤ã³ã¹ãã¼ã«ãã¾ãã
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export PATH=$PATH:{jdk-install-dir}/bin export ALT_BOOTDIR={jdk-install-dir}
çæç¹1: JAVA_HOMEãè¨å®ããªã
ãã®æãç°å¢å¤æ°JAVA_HOMEãè¨å®ãã¦ã¯ãããªãããã§ããmake sanityã§ã¨ã©ã¼ã«ãªããunsetãå§ãããã¾ãã
çæç¹2: ãã¼ã¸ã§ã³
ãã«ã対象ã®OpenJDKã2010å¹´6æã«ãªãªã¼ã¹ããããã®ãªã®ã§ããã®åã«ãªãªã¼ã¹ãããSunJDKã使ãã¾ããã
JDK Updateã®ãªãªã¼ã¹æ¥ã®æ å ±ã¯Wikipediaã«ã¾ã¨ã¾ã£ã¦ãã¾ãã
çæç¹3: SunJDKï¼ OpenJDK + gcj?
ããã§ã¤ã³ã¹ãã¼ã«ããJDKã¯ãOpenJDKã®ãã¼ãç¨ã§ããREADME-builds.htmlã«ã¯ãLinuxã«ããã±ã¼ã¸ã³ã°ããã¦ããOpenJDKã使ããã¨æ¸ãã¦ããã¾ããSunJDKã使ã£ãã®ã¯ãåã«èªåãgcjã«ä¸æ £ãã ããã§ãã»ã»ã»
make sanityãå®è¡ãã¦ã¿ã
gccããªããã°ã¤ã³ã¹ãã¼ã«ãã¦ããã¾ããgcc4ãå¿ è¦ã§ãã
yum install gcc
OpenJDKã®ã«ã¼ããã£ã¬ã¯ããªã§ã次ã®ã³ãã³ããå®è¡ãã¾ãã
make sanity
README-builds.htmlãåç §ããªããã¨ã©ã¼ã解決ãã¦ããã¾ãã
Antã®ã¤ã³ã¹ãã¼ã«
Ant 1.6.5ã®バイナリããã¦ã³ãã¼ããã¾ãã
解åã㦠/usr/local/antã«é ç½®ãã¾ãã
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ANT_HOME={ant-install-dir} export PATH=$PATH:ANT_HOME/bin
Advanced Linux Sound Architecture (ALSA) ã®ã¤ã³ã¹ãã¼ã«
/{build-dir}/build/linux-amd64/tmp/alsaversioncheck.c:1:28: error: alsa/asoundlib.h: No such file or directory
ALSAã®ããããã¡ã¤ã«ãå¿ è¦ãªã®ã§ãã¤ã³ã¹ãã¼ã«ãã¾ãã
yum install alsa-lib-devel
FreeType2ã®ã¤ã³ã¹ãã¼ã«
FreeType2.3.0ã®Development versionãã¤ã³ã¹ãã¼ã«ãã¾ãã
å ¬å¼ãªãªã¼ã¹ãã¼ã¸ã§ã³ä»¥å¤ã®FreeType2ããã«ãããå ´åãFreeTypeã®ã«ã¼ããã£ã¬ã¯ããªã«ããautogen.shãå®è¡ãã¦ãconfigureãã¡ã¤ã«ãçæããå¿ è¦ãããã¾ãã
autogen.shã®å®è¡ã«ã¯ãautomakeãautoconfã使ãããã®ã§ãlibtoolããªããã°ã¤ã³ã¹ãã¼ã«ãã¦ããã¾ãã
yum instlal libtool
sh autogen.sh
./configure make make install
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ALT_FREETYPE_LIB_PATH=/usr/local/lib export ALT_FREETYPE_HEADERS_PATH=/{freetype-install-dir}/include
çæç¹: FreeType2 ã®ãã¼ã¸ã§ã³
æåã¯OpenJDK6ãªãªã¼ã¹ç´åã«åºã2.3.12ã使ããã¨ããã®ã§ããããã«ãã§ã¯ã¾ã£ãã®ã§ãã¼ã¸ã§ã³ãä¸ãã¾ããã2.3.12ã®autogen.shã§ã¯ãlibtoolsãautomakeã®ãã¼ã¸ã§ã³ãã§ãã¯ããã¦ãããå¤ãã¨ã¨ã©ã¼ã«ãªãã¾ãããããããããã®ãã¼ã«ã®ã¢ããã°ã¬ã¼ãã¯ãããªã©ããã®ãããªã®ã§ãåé¿ãã¾ããã
2.3.0ã®autogen.shã§ã¯ãã¼ã¸ã§ã³ãã§ãã¯ããã¦ããªãã®ã§ããããªãã¨configureãã¡ã¤ã«ãä½ããã¾ãã
OpenMotifã®ããããã¡ã¤ã«ã®é ç½®
openmotif-2.1.30.5p1.tgzãå ¥æãã¾ããREADME-builds.htmlã«ãããªã³ã¯å ã¯æ¶ãã¦ããã®ã§ãミラーサイトなどããé©å®ãã¦ã³ãã¼ããã¾ãã
解åããinclude/Xmãã£ã¬ã¯ããªã/usr/include/Xmã«é ç½®ãã¾ãã
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ALT_MOTIF_DIR=/usr
Cupsã®ã¤ã³ã¹ãã¼ã«
http://www.cups.org/ããCUPS 1.4.5ããã¦ã³ãã¼ããã¦ãã¤ã³ã¹ãã¼ã«ãã¾ãã
./configure make make install
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ALT_CUPS_HEADERS_PATH=/usr/include
Cupsã®ã³ã³ãã¤ã«ã«ã¯C++ã³ã³ãã¤ã©ãå¿ è¦ãªã®ã§ããªããã°ã¤ã³ã¹ãã¼ã«ãã¦ããã¾ãã
yum install gcc-c++
Binary Plugsã¤ã³ã¹ãã¼ã«
Binary Plugsãã¤ã³ã¹ãã¼ã«ãã¾ãããã¦ã³ãã¼ãããjarãå®è¡ããã¨ããã£ã¬ã¯ããªãé¸ãã§ã¤ã³ã¹ãã¼ã«ããç»é¢ãéãã¾ããopenjdk-binary-plugsã¨ãããã£ã¬ã¯ããªãä½æãããã®ã§ãä»»æã®å ´æã«é ç½®ãã¾ãããªãã·ã§ã³ãªã®ã§ãã¤ã³ã¹ãã¼ã«ããªãã¦ããã«ãã§ãã¾ãã
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ALT_BINARY_PLUGS_PATH={binary-plugs-install-dir}/openjdk-binary-plugs
make
make sanityããã¹ããããmakeãå®è¡ãã¾ãã
make
ããã¾ã§ã«ã次ã®è¨äºãåèã«ãªãã¾ããã
ãã«ãã¨ã©ã¼å¯¾å¦
ã¨ã©ã¼ãåºãªããªãã¾ã§ãä¿®æ£ã¨makeã®å®è¡ãç¹°ãè¿ãã¾ãã
çµè«ã¨ãã¦ã次ã®ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ãå¿ è¦ã§ããã
yum install libXt-devel libXtst-devel libXi-devel libXext-devel libXp libXp-devel libXpm-devel
ã¾ããã¹ã¯ãªããã®ä¿®æ£ã2ç®æè¡ãã¾ãã
以ä¸ã¯è©³ç´°ã§ãï¼ä¸å¿ãå¾ã ã®ããã«ã»ã»ã»ï¼
ãã«ãã¨ã©ã¼å¯¾å¦(1) jaxwsã¨jafã®ã½ã¼ã¹ã³ã¼ãåå¾å ã®å¤æ´
[echo] + Starting ant project jaxp + ï¼ç¥ï¼ -use-drop: -src-help: BUILD FAILED /{openjdk-build-dir}/jaxp/build-defs.xml:70: ERROR: Cannot find source for project jaxp. HINT: Try setting drops.dir to indicate where the bundles can be found, or try setting the ant property allow.downloads=true to download the bundle from the URL. e.g. ant -Dallow.downloads=true -OR- ant -Ddrops.dir=some_directory
ç°å¢å¤æ°ãè¨å®ãã¾ãã
export ALLOW_DOWNLOADS=true
ããã ãã§éãã°OKã§ãããã¾ã ãã¡ãªãã{openjdk-build-dir}/jaxws/jaxws.propertiesãç·¨éãã¦ã½ã¼ã¹ã®åå¾å ãå¤æ´ãã¾ãã
jaxws_src.bundle.name=jdk6-jaxws-b20.zip jaxws_src.bundle.md5.checksum=91adfd41e6f001add4f92ae31216b1e3 jaxws_src.master.bundle.dir=${drops.master.copy.base} #jaxws_src.master.bundle.url.base=https://jax-ws.dev.java.net/files/documents/4202/150724 jaxws_src.master.bundle.url.base=http://icedtea.classpath.org/download/drops jaf_src.bundle.name=jdk6-jaf-b20.zip jaf_src.bundle.md5.checksum=bc95c133620bd68c161cac9891592901 jaf_src.master.bundle.dir=${drops.master.copy.base} #jaf_src.master.bundle.url.base=https://jax-ws.dev.java.net/files/documents/4202/150725 jaf_src.master.bundle.url.base=http://icedtea.classpath.org/download/drops
jdk6-jaxws-b20.zipãjdk6-jaf-b20.zipã¯ãicedtea.classpath.orgã§ãé å¸ããã¦ããã®ã§ããã¡ãã使ããã¨ã«ãã¾ãã
ã¡ãªã¿ã«ãALLOW_DOWNLOADS=trueã®è¨å®ã ãã ã¨ã次ã®ã¨ã©ã¼ãåºã¾ããã
BUILD FAILED /{openjdk-build-dir}/build/linux-amd64/jaxws/build/xml_generated/build-drop-jaxws_src.xml:96: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching jax-ws.dev.java.net found.
æ¤ç´¢ããã¨é¢é£ã®è©±é¡ãåºã¦ãã¾ãããæ£ç´ãããããã®ã§ã¹ã«ã¼ãã¦åå¾å ãå¤ãã¾ããã
- JaFag: Java SSL No Subject Alternative Matched
- http://www.jroller.com/hasant/entry/no_subject_alternative_names_matching
ãªããzipãã¡ã¤ã«ãæåã§ãã¦ã³ãã¼ããã¦ãã¼ã«ã«ã«ç½®ããç°å¢å¤æ°ALT_DROPS_DIRãè¨å®ããæ¹æ³ã¯ããªããä¸æãããã¾ããã§ããããã®æ¹æ³ã§ããããã¨æãã®ã§ããã»ã»ã»
ãã«ãã¨ã©ã¼å¯¾å¦(2) XtãXstç³»ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«
../../../src/solaris/native/sun/awt/utility/rect.h:31:22: error: X11/Xlib.h: No such file or directory In file included from ../../../src/share/native/sun/awt/../java2d/pipe/Region.h:34, from ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:30: ../../../src/solaris/native/sun/awt/utility/rect.h:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'RECT_T' In file included from ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:30: ../../../src/share/native/sun/awt/../java2d/pipe/Region.h:211: error: expected declaration specifiers or '...' before 'RECT_T' ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:243: error: expected declaration specifiers or '...' before 'RECT_T' ../../../src/share/native/sun/awt/../java2d/pipe/Region.c: In function 'RegionToYXBandedRectangles': ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:254: error: 'pRect' undeclared (first use in this function) ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:254: error: (Each undeclared identifier is reported only once ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:254: error: for each function it appears in.) ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:263: warning: comparison between signed and unsigned ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:264: error: 'RECT_T' undeclared (first use in this function) ../../../src/share/native/sun/awt/../java2d/pipe/Region.c:264: error: expected expression before ')' token make[5]: *** [{openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/awt/obj64/Region.o] Error 1
libXt-develã¨libXtst-develãã¤ã³ã¹ãã¼ã«ãã¾ãã次ã®è¨äºãåèã«ãªãã¾ããã
ãã«ãã¨ã©ã¼å¯¾å¦(3) Makefileã®ä¿®æ£
make[4]: *** [{openjdk-build-dir}/build/linux-amd64/lib/amd64/libsplashscreen.so] Error 1 make[4]: Leaving directory `{openjdk-build-dir}/jdk/make/sun/splashscreen' make[3]: *** [all] Error 1 make[3]: Leaving directory `{openjdk-build-dir}/jdk/make/sun' make[2]: *** [all] Error 1 make[2]: Leaving directory `{openjdk-build-dir}/jdk/make' make[1]: *** [jdk-build] Error 2 make[1]: Leaving directory `{openjdk-build-dir}' make: *** [build_product_image] Error 2
{openjdk-build-dir}ã®jdk/make/sun/splashscreen/Makefileãä¿®æ£ãã¾ãã
ifeq ($(PLATFORM), linux) ifeq ($(ARCH_DATA_MODEL), 64) # 64-bit gcc has problems compiling MMX instructions. # Google it for more details. Possibly the newer versions of # the PNG-library and/or the new compiler will not need this # option in the future. # (追å / ãããã) C_INCLUDE_PATH=$(SHARE_SRC)/native/$(PKGDIR)/splashscreen # (追å / ããã¾ã§) CPPFLAGS += -DPNG_NO_MMX_CODE endif endif
ãã«ãã¨ã©ã¼å¯¾å¦(4) Xiããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«
/splashscreen/obj64/jcmaster.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jcparam.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jcphuff.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jcprepct.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jcsample.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jctrans.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jdtrans.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jfdctflt.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jfdctfst.o {openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jfdctint.o -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread -lc /usr/bin/ld: cannot find -lXext collect2: ld returned 1 exit status make[4]: *** [{openjdk-build-dir}/build/linux-amd64/lib/amd64/libsplashscreen.so] Error 1
libXi-develãã¤ã³ã¹ãã¼ã«ãã¾ãã次ã®è¨äºãåèã«ãªãã¾ããã
ãã«ãã¨ã©ã¼å¯¾å¦(5) Xpç³»ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«
{openjdk-build-dir}/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/jfdctint.o -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread -lc /usr/bin/ld: cannot find -lXext collect2: ld returned 1 exit status make[4]: *** [{openjdk-build-dir}/build/linux-amd64/lib/amd64/libsplashscreen.so] Error 1
libXpãlibXp-develãlibXpm-develãã¤ã³ã¹ãã¼ã«ãã¾ãã
以ä¸ã§ãã