Bootstrapping with Apple's JDK 6 on Snow Leopard
Howdy- Is anyone successfully building a 64-bit version of the latest source on Snow Leopard with Apple's JDK 6? I can build a 32-bit version using the Soylatte v1.0.3 32-bit binaries, but I can't successfully build any version of OpenJDK using Apple's JDK 6. I tried following along with http://justanapplication.wordpress.com/2009/11/17/bootstrapping-openjdk-7-on-snow-leopard/ without success (see below). After patching com.sun.tools.javac.jvm.ClassReader.java to fully qualify both references to com.sun.tools.javac.jvm.ClassFile.Version, my langtools build fails during the -def-genstubs Ant target because of an apparent API inconsistency between Apple's com.sun.tools.javac.tree.JCTree and what OpenJDK expects. Might it be possible to work around this problem by pruning the list of jars on the bootclasspath when invoking Apple's javac, or prepending the OpenJDK build output directory containing JCTree to the bootclasspath? Are there any Make variables I can use to explicitly override the bootclasspath? Also, setting ARCH_DATA_MODEL=64 causes the sanity goal to fail with the error: ERROR: FreeType version 2.3.0 or higher is required. \n /Users/sl4mmy/Work/openjdk/build/bsd-amd64/btbins/freetype_versioncheck Failed to build freetypecheck. \n Exiting because of the above error(s). \n make: *** [post-sanity] Error 1 Does anyone know how to build a 64-bit JDK with the version of freetype that ships with Snow Leopard? With the Soylatte v1.0.3 32-bit binaries on Snow Leopard, I'm able to successfully build a 32-bit version of OpenJDK on my MacBook with the command: $ time env -i PATH=/Users/sl4mmy/Downloads/tmp/soylatte16-i386-1.0.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin make ALT_BOOTDIR=/Users/sl4mmy/Downloads/tmp/soylatte16-i386-1.0.3 ALT_FREETYPE_HEADERS_PATH=/usr/X11/include ALT_FREETYPE_LIB_PATH=/usr/X11/lib ALT_CUPS_HEADERS_PATH=/usr/include ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts LIBFFI_CFLAGS="-I/usr/include/ffi" ANT_HOME=/usr/share/ant NO_DOCS=true CC=gcc-4.0 CXX=g++-4.0 [OUTPUT SNIPPED] >>>Making sec-files-win @ Thu Mar 25 14:00:30 CDT 2010 ... >>>Making jgss-files @ Thu Mar 25 14:00:30 CDT 2010 ... >>>Finished making images @ Thu Mar 25 14:00:30 CDT 2010 ... # Leaving jdk for target sanity all images # Control bsd i586 1.7.0-internal build_product_image build finished: 10-03-25 14:00 Control bsd i586 1.7.0-internal all_product_build build finished: 10-03-25 14:00 Control bsd i586 1.7.0-internal all build finished: 10-03-25 14:00 real58m24.447s user42m37.251s sys 9m14.620s $ Thanks in advance! Best, Kent plato:openjdk sl4mmy$ uname -a Darwin plato 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov 3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 plato:openjdk sl4mmy$ hg summary parent: 192:9f250d0d1b40 tip Merge from main OpenJDK repository branch: default commit: (clean) update: (current) plato:openjdk sl4mmy$ hg fstatus [.] [corba] [hotspot] [jaxp] [jaxws] [jdk] [langtools] plato:openjdk sl4mmy$ env -i PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin make ALT_BOOTDIR=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home ALT_FREETYPE_HEADERS_PATH=/usr/X11/include ALT_FREETYPE_LIB_PATH=/usr/X11/lib ALT_CUPS_HEADERS_PATH=/usr/include ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts LIBFFI_CFLAGS="-I/usr/include/ffi" ANT_HOME=/usr/share/ant NO_DOCS=true Control bsd i586 1.7.0-internal all build started: 10-03-25 11:02 ( cd ./jdk/make && \ make sanity HOTSPOT_IMPORT_CHECK=false JDK_TOPDIR=/Users/sl4mmy/Work/openjdk/jdk JDK_MAKE_SHARED_DIR=/Users/sl4mmy/Work/openjdk/jdk/make/common/shared EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00 JDK_BUILD_NUMBER=b00 FULL_VERSION=1.7.0-internal-sl4mmy_2010_03_25_11_02-b00 PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=32 COOKED_BUILD_NUMBER=0 ANT_HOME="/usr/share/ant" ALT_OUTPUTDIR=/Users/sl4mmy/Work/openjdk/build/bsd-i586 ALT_LANGTOOLS_DIST=/Users/sl4mmy/Work/openjdk/build/bsd-i586/langtools/dist ALT_CORBA_DIST=/Users/sl4mmy/Work/openjdk/build/bsd-i586/corba/dist ALT_JAXP_DIST=/Users/sl4mmy/Work/openjdk/build/bsd-i586/jaxp/dist ALT_JAXWS_DIST=/Users/sl4mmy/Work/openjdk/build/bsd-i586/jaxws/dist ALT_HOTSPOT_IMPORT_PATH=/Users/sl4mmy/Work/open jdk/build/bsd-i586/hotspot/import BUILD_HOTSPOT=true ; ) Build Machine Information: build machine = plato Build Directory S
Re: Bootstrapping with Apple's JDK 6 on Snow Leopard
On Mar 26, 4:34pm, kspill...@acm.org ("Kent R. Spillner") wrote: -- Subject: Bootstrapping with Apple's JDK 6 on Snow Leopard | Howdy- | | Is anyone successfully building a 64-bit version of the latest source on Snow Leopard with Apple's JDK 6? I can build a 32-bit version using the Soylatte v1.0.3 32-bit binaries, but I can't successfully build any version of OpenJDK using Apple's JDK 6. | | I tried following along with http://justanapplication.wordpress.com/2009/11/17/bootstrapping-openjdk-7-on-snow-leopard/ without success (see below). After patching com.sun.tools.javac.jvm.ClassReader.java to fully qualify both references to com.sun.tools.javac.jvm.ClassFile.Version, my langtools build fails during the -def-genstubs Ant target because of an apparent API inconsistency between Apple's com.sun.tools.javac.tree.JCTree and what OpenJDK expects. | | Might it be possible to work around this problem by pruning the list of jars on the bootclasspath when invoking Apple's javac, or prepending the OpenJDK build output directory containing JCTree to the bootclasspath? Are there any Make variables I can use to explicitly override the bootclasspath? | | Also, setting ARCH_DATA_MODEL=64 causes the sanity goal to fail with the error: | ERROR: FreeType version 2.3.0 or higher is required. \n /Users/sl4mmy/Work/openjdk/build/bsd-amd64/btbins/freetype_versioncheck | Failed to build freetypecheck. \n | Exiting because of the above error(s). \n | make: *** [post-sanity] Error 1 | | Does anyone know how to build a 64-bit JDK with the version of freetype that ships with Snow Leopard? | | With the Soylatte v1.0.3 32-bit binaries on Snow Leopard, I'm able to successfully build a 32-bit version of OpenJDK on my MacBook with the command: | $ time env -i PATH=/Users/sl4mmy/Downloads/tmp/soylatte16-i386-1.0.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin make ALT_BOOTDIR=/Users/sl4mmy/Downloads/tmp/soylatte16-i386-1.0.3 ALT_FREETYPE_HEADERS_PATH=/usr/X11/include ALT_FREETYPE_LIB_PATH=/usr/X11/lib ALT_CUPS_HEADERS_PATH=/usr/include ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts LIBFFI_CFLAGS="-I/usr/include/ffi" ANT_HOME=/usr/share/ant NO_DOCS=true CC=gcc-4.0 CXX=g++-4.0 Are you using the correct version of jibx? christos
Re: Bootstrapping with Apple's JDK 6 on Snow Leopard
Howdy- > Are you using the correct version of jibx? *shrug* Is JIBX still necessary? Some web pages state JIBX is no longer needed to build the BSD port; for example, this page (linked from the wiki at http://wikis.sun.com/display/OpenJDK/BSDPort): http://www.javarants.com/2009/11/01/building-openjdk-1-7-0-for-mac-os-x-10-6-snow-leopard/ Best, Kent