Help with OpenJDK 7 build process on OS X
Henri Gomez
henri.gomez at gmail.com
Mon Jun 6 02:01:00 PDT 2011
Please take a look at OpenJDK build project
(http://code.google.com/p/openjdk-osx-build/)
2011/6/6 Scott Palmer <swpalmer at gmail.com>:
> 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