Help with OpenJDK 7 build process on OS X
Scott Palmer
swpalmer at gmail.com
Sun Jun 5 17:17:39 PDT 2011
OpenJDK no longer builds for me (not sure when it happened) … I'm hoping someone can tell me what is going wrong and perhaps take some feedback and make the build run smoother on OS X.
Note the contradiction in the error messages produced in the attempts to build below. I've removed a lot of noise from the output and highlighted key parts:
Scott-Palmers-MacBook-Pro:openjdk scott$ make
...
WARNING: LANG has been set to en_CA.UTF-8, this can cause build failures. \n Try setting LANG to 'C'. \n
ERROR: Your JAVA_HOME environment variable is set. This will \n most likely cause the build to fail. Please unset it \n and start your build again. \n
Exiting because of the above error(s). \n
make: *** [post-sanity] Error 1
Scott-Palmers-MacBook-Pro:openjdk scott$ unset JAVA_HOME
Scott-Palmers-MacBook-Pro:openjdk scott$ export LANG=C
Scott-Palmers-MacBook-Pro:openjdk scott$ make
( cd ./jdk/make && \
make sanity HOTSPOT_IMPORT_CHECK=false JDK_TOPDIR=/Users/scott/dev/openjdk/jdk
…
\nBootstrap Settings:\n BOOTDIR = /NO_BOOTDIR\n ALT_BOOTDIR = \n BOOT_VER = /bin/sh: /NO_BOOTDIR/bin/java: No such file or directory [requires at least 1.6]\n
…
ALT_PREVIOUS_JDK_FILE = \n PREVIOUS_JRE_FILE = \n ALT_PREVIOUS_JRE_FILE = \n PREVIOUS_RELEASE_IMAGE = \n ALT_PREVIOUS_RELEASE_IMAGE = \n
Sanity check passed.
make \
SKIP_FASTDEBUG_BUILD=true \
SKIP_DEBUG_BUILD=true \
\
generic_build_repo_series
/bin/mkdir -p ./build/macosx-universal/j2sdk-image
/bin/mkdir -p /Users/scott/dev/openjdk/build/macosx-universal/langtools
########################################################################
########################################################################
##### Entering langtools for target(s) all #####
########################################################################
…
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 ALT_OUTPUTDIR=/Users/scott/dev/openjdk/build/macosx-universal/langtools ALT_BOOTDIR=/NO_BOOTDIR all)
JAVA_HOME=/NO_BOOTDIR ANT_OPTS=-Djava.io.tmpdir='/Users/scott/dev/openjdk/build/macosx-universal/langtools/build/ant-tmp' ant -Djdk.version=1.7.0 -Dfull.version='1.7.0-internal-scott_2011_06_05_12_49-b00' -Dmilestone=internal -Dbuild.number=b00 -Djavac.target=7 -Djavac.source=7 -Dboot.java.home=/NO_BOOTDIR -Dimport.jdk=/Users/scott/dev/openjdk/jdk -Dbuild.dir=/Users/scott/dev/openjdk/build/macosx-universal/langtools/build -Ddist.dir=/Users/scott/dev/openjdk/build/macosx-universal/langtools/dist build
Error: JAVA_HOME is not defined correctly.
We cannot execute /NO_BOOTDIR/bin/java
make[2]: *** [build] Error 1
make[1]: *** [langtools-build] Error 2
make: *** [build_product_image] Error 2
Okay.. so at first it says don't define JAVA_HOME.. but then it complains that JAVA__HOME is not set correctly!
Now I release this is user error on my part and that the README clear states to set ALT_BOOTDIR to point to JDK 6. So why does it pass the sanity checks and continue without the ALT_BOOT_DIR set and an obviously broken substitute for it and JAVA_HOME?
Can't we make this fail with a better error msg, or even use /usr/libexec/java_home to pick a suitable ALT_BOOTDIR automatically?
Of course, I set ALT_BOOTDIR with:
Scott-Palmers-MacBook-Pro:openjdk scott$ export ALT_BOOTDIR=`/usr/libexec/java_home`
Scott-Palmers-MacBook-Pro:openjdk scott$ echo $ALT_BOOTDIR
/Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home
But the build still fails… (and what is with all those "\n" in the output instead of actual newlines?)
Scott-Palmers-MacBook-Pro:openjdk scott$ make
...
\nBootstrap Settings:\n BOOTDIR = /Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home\n ALT_BOOTDIR = /Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home\n BOOT_VER = 1.6.0 [requires at least 1.6]\n OUTPUTDIR = /Users/scott/dev/openjdk/build/macosx-universal\n ALT_OUTPUTDIR = /Users/scott/dev/openjdk/build/macosx-universal\n ABS_OUTPUTDIR = /Users/scott/dev/openjdk/build/macosx-universal\n \nBuild Tool Settings:\n SLASH_JAVA = /NOT-SET\n ALT_SLASH_JAVA = \n VARIANT = OPT\n JDK_DEVTOOLS_DIR = /NOT-SET/devtools\n
…
PREVIOUS_JDK_VERSION = 1.6.0\n ALT_PREVIOUS_JDK_VERSION = \n PREVIOUS_JDK_FILE = \n ALT_PREVIOUS_JDK_FILE = \n PREVIOUS_JRE_FILE = \n ALT_PREVIOUS_JRE_FILE = \n PREVIOUS_RELEASE_IMAGE = /Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home\n ALT_PREVIOUS_RELEASE_IMAGE = \n
Sanity check passed.
make \
SKIP_FASTDEBUG_BUILD=true \
SKIP_DEBUG_BUILD=true \
\
generic_build_repo_series
/bin/mkdir -p ./build/macosx-universal/j2sdk-image
/bin/mkdir -p /Users/scott/dev/openjdk/build/macosx-universal/langtools
########################################################################
########################################################################
##### Entering langtools for target(s) all #####
########################################################################
(cd ./langtools/make && \
make JDK_TOPDIR=/Users/scott/dev/openjdk/jdk JDK_MAKE_SHARED_DIR=/Users/scott/dev/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-scott_2011_06_05_19_43-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 ALT_OUTPUTDIR=/Users/scott/dev/openjdk/build/macosx-universal/langtools ALT_BOOTDIR=/Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home all)
JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home ANT_OPTS=-Djava.io.tmpdir='/Users/scott/dev/openjdk/build/macosx-universal/langtools/build/ant-tmp' ant -Djdk.version=1.7.0 -Dfull.version='1.7.0-internal-scott_2011_06_05_19_43-b00' -Dmilestone=internal -Dbuild.number=b00 -Djavac.target=7 -Djavac.source=7 -Dboot.java.home=/Library/Java/JavaVirtualMachines/1.6.0_25-b06-361.jdk/Contents/Home -Dimport.jdk=/Users/scott/dev/openjdk/jdk -Dbuild.dir=/Users/scott/dev/openjdk/build/macosx-universal/langtools/build -Ddist.dir=/Users/scott/dev/openjdk/build/macosx-universal/langtools/dist build
Buildfile: /Users/scott/dev/openjdk/langtools/make/build.xml
-def-pcompile:
-def-build-classes:
-def-build-bootstrap-classes:
-def-build-jar:
-def-build-bootstrap-jar:
-def-check:
-check-boot.java.home:
-def-build-tool:
-def-build-bootstrap-tool:
build-bootstrap-javac:
[pcompile] Generating 6 resource files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/gensrc
[javac] Compiling 26 source files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/classes
[jar] Building jar: /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/lib/javac.jar
build-bootstrap-javadoc:
[pcompile] Generating 2 resource files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/gensrc
[javac] Compiling 2 source files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/classes
[jar] Building jar: /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/lib/javadoc.jar
build-bootstrap-doclets:
[pcompile] Generating 3 resource files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/gensrc
[javac] Compiling 25 source files to /Users/scott/dev/openjdk/build/macosx-universal/langtools/build/bootstrap/classes
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:289: warning: [cast] redundant cast to com.sun.javadoc.MethodDoc
[javac] addMethodInfo((MethodDoc) doc, dl);
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:1434: warning: [cast] redundant cast to com.sun.javadoc.PackageDoc
[javac] PackageDoc pkg = (PackageDoc) deprPkgs.get(i);
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:1745: warning: [cast] redundant cast to com.sun.javadoc.ClassDoc
[javac] cd = (ClassDoc) d;
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:1767: warning: [cast] redundant cast to com.sun.javadoc.ClassDoc
[javac] cd = (ClassDoc) doc;
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:1785: warning: [cast] redundant cast to com.sun.tools.doclets.formats.html.LinkOutputImpl
[javac] String link = ((LinkOutputImpl) factory.getLinkOutput(linkInfo)).toString();
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:1798: warning: [cast] redundant cast to com.sun.tools.doclets.formats.html.LinkOutputImpl
[javac] return ((LinkOutputImpl)
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2024: warning: [cast] redundant cast to com.sun.javadoc.ExecutableMemberDoc
[javac] ExecutableMemberDoc emd = (ExecutableMemberDoc)doc;
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2052: warning: [cast] redundant cast to com.sun.javadoc.ExecutableMemberDoc
[javac] ExecutableMemberDoc emd = (ExecutableMemberDoc)doc;
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2161: warning: [cast] redundant cast to com.sun.tools.doclets.formats.html.ClassWriterImpl
[javac] containing = ((ClassWriterImpl) this).getClassDoc();
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2177: warning: [cast] redundant cast to com.sun.javadoc.ExecutableMemberDoc
[javac] refMemName += ((ExecutableMemberDoc)refMem).signature();
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2348: warning: [cast] redundant cast to com.sun.javadoc.SeeTag
[javac] result.append(seeTagToString((SeeTag)tagelem));
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2441: warning: [cast] redundant cast to com.sun.javadoc.ClassDoc
[javac] redirectPathFromRoot = DirectoryManager.getDirectoryPath(((ClassDoc) doc).containingPackage());
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2443: warning: [cast] redundant cast to com.sun.javadoc.MemberDoc
[javac] redirectPathFromRoot = DirectoryManager.getDirectoryPath(((MemberDoc) doc).containingPackage());
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2445: warning: [cast] redundant cast to com.sun.javadoc.PackageDoc
[javac] redirectPathFromRoot = DirectoryManager.getDirectoryPath((PackageDoc) doc);
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2779: warning: [cast] redundant cast to com.sun.javadoc.AnnotationValue[]
[javac] (AnnotationValue[]) annotationValue.value();
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2803: warning: [cast] redundant cast to com.sun.javadoc.Type
[javac] Type type = (Type) annotationValue.value();
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2816: warning: [cast] redundant cast to com.sun.javadoc.AnnotationDesc
[javac] new AnnotationDesc[]{(AnnotationDesc) annotationValue.value()},
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2825: warning: [cast] redundant cast to com.sun.javadoc.MemberDoc
[javac] (MemberDoc) annotationValue.value(),
[javac] ^
[javac] /Users/scott/dev/openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2826: warning: [cast] redundant cast to com.sun.javadoc.MemberDoc
[javac] ((MemberDoc) annotationValue.value()).name(), false);
[javac] ^
[javac] 19 warnings
BUILD FAILED
/Users/scott/dev/openjdk/langtools/make/build.xml:527: The following error occurred while executing this line:
/Users/scott/dev/openjdk/langtools/make/build.xml:800: Compile failed; see the compiler error output for details.
Total time: 16 seconds
make[2]: *** [build] Error 1
make[1]: *** [langtools-build] Error 2
make: *** [build_product_image] Error 2
Scott-Palmers-MacBook-Pro:openjdk scott$
The only other info in the README refers to README-builds.html. That file doesn't even mention OS X at all. It also doesn't appear to mention anything that would help with the above warnings, if they even are the cause for the build failure.
Regards,
Scott
More information about the macosx-port-dev
mailing list