Bootstrapping with Apple's JDK 6 on Snow Leopard

2010-03-26 Thread Kent R. Spillner
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

2010-03-26 Thread Christos Zoulas
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

2010-03-26 Thread Kent R. Spillner
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