building 7u on macosx

Pete Brunet peter.brunet at oracle.com
Fri Apr 18 19:25:57 UTC 2014


Success.  I found this post from Arun Gupta:
https://blogs.oracle.com/arungupta/entry/build_open_jdk_7_on

which specifies this

make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true
ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v1.6`
HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`

rather than this

CPATH="/usr/X11/include" LANG=C make ALLOW_DOWNLOADS=true
ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl
-n hw.ncpu`

at https://wiki.openjdk.java.net/display/MacOSXPort/Main

The differences are:
- At the front, remove:  CPATH="/usr/X11/include" LANG=C
- Add this:  SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true

I didn't yet investigate if there is a subset of the changes that would
be successful.

Pete

On 4/18/14 1:43 PM, Pete Brunet wrote:
> I see Mac downloads for 7u55 so I should be able to build 7u.  But the
> instructions at
> https://wiki.openjdk.java.net/display/MacOSXPort/Main
> are for 8 so maybe the instructions are different for 7?  The
> instuctions in the 7 section of
> http://openjdk.java.net/groups/build/
> have no mention of mac os x.
>
> Pete
>
> On 4/18/14 11:59 AM, Pete Brunet wrote:
>> Maybe 7 is not supported?  The reason I am trying to build it is to back
>> port two bugs from 9, but maybe that's not needed.
>>
>> On 4/18/14 11:39 AM, Pete Brunet wrote:
>>> Hi, It's been a long time since I built 7 on macosx.  Refering to
>>>
>>> https://wiki.openjdk.java.net/display/MacOSXPort/Main
>>>
>>> I see these instructions
>>>
>>> CPATH="/usr/X11/include" LANG=C make ALLOW_DOWNLOADS=true
>>> ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl
>>> -n hw.ncpu`
>>>
>>> but that fails.  See the log below.
>>>
>>> Are the instructions still OK?
>>>
>>> Pete
>>>
>>> ptb-mbp-2:jdk7 petebrunet$ CPATH="/usr/X11/include" LANG=C make
>>> ALLOW_DOWNLOADS=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+`
>>> HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
>>> ( cd  ./jdk/make && \
>>>       make sanity HOTSPOT_IMPORT_CHECK=false
>>> JDK_TOPDIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/jdk
>>> JDK_MAKE_SHARED_DIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/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-petebrunet_2014_04_18_11_07-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=64 COOKED_BUILD_NUMBER=0
>>> ALT_OUTPUTDIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64
>>> ALT_LANGTOOLS_DIST=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/dist
>>> ALT_CORBA_DIST=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/corba/dist
>>> ALT_JAXP_DIST=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/jaxp/dist
>>> ALT_JAXWS_DIST=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/jaxws/dist
>>> ALT_HOTSPOT_IMPORT_PATH=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/import
>>> BUILD_HOTSPOT=true ; )
>>>
>>> Build Machine Information:
>>>    build machine = ptb-mbp-2.local
>>>
>>> Build Directory Structure:
>>>    CWD = /Users/petebrunet/JDK7u/JDK-8041112/jdk7
>>>    TOPDIR = .
>>>    LANGTOOLS_TOPDIR = ./langtools
>>>    JAXP_TOPDIR = ./jaxp
>>>    JAXWS_TOPDIR = ./jaxws
>>>    CORBA_TOPDIR = ./corba
>>>    HOTSPOT_TOPDIR = ./hotspot
>>>    JDK_TOPDIR = ./jdk
>>>
>>> Build Directives:
>>>    BUILD_LANGTOOLS = true
>>>    BUILD_JAXP = true
>>>    BUILD_JAXWS = true
>>>    BUILD_CORBA = true
>>>    BUILD_HOTSPOT = true
>>>    BUILD_JDK    = true
>>>    DEBUG_CLASSFILES = 
>>>    DEBUG_BINARIES = 
>>>
>>> Hotspot Settings:
>>>       HOTSPOT_BUILD_JOBS  = 8
>>>       HOTSPOT_OUTPUTDIR   =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/outputdir
>>>
>>>       HOTSPOT_EXPORT_PATH =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/import
>>>  
>>>
>>>
>>>
>>> Bootstrap Settings:
>>>   BOOTDIR = /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>>     ALT_BOOTDIR =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>>   BOOT_VER = 1.8.0 [requires at least 1.6]
>>>   OUTPUTDIR = /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64
>>>     ALT_OUTPUTDIR =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64
>>>   ABS_OUTPUTDIR =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64
>>>  
>>> Build Tool Settings:
>>>   SLASH_JAVA = /java
>>>     ALT_SLASH_JAVA =
>>>   VARIANT = OPT
>>>   JDK_DEVTOOLS_DIR = /java/devtools
>>>     ALT_JDK_DEVTOOLS_DIR =
>>>   ANT_HOME =
>>>   UNIXCOMMAND_PATH = /bin/
>>>     ALT_UNIXCOMMAND_PATH =
>>>   COMPILER_PATH = /Applications/Xcode.app/Contents/Developer/usr/bin/
>>>     ALT_COMPILER_PATH =
>>>   DEVTOOLS_PATH = /opt/local/bin/
>>>     ALT_DEVTOOLS_PATH =
>>>   COMPILER_NAME = LLVM-GCC4
>>>   COMPILER_VERSION = LLVM-GCC4
>>>   CC_VER = 4.2.1 [requires at least 4.2.1]
>>>   ZIP_VER = 3.0 [requires at least 2.2]
>>>   UNZIP_VER = 5.52 [requires at least 5.12]
>>>   ANT_VER = 1.8.2 [requires at least 1.7.1]
>>>   TEMPDIR = /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/tmp
>>>  
>>> Build Directives:
>>>   OPENJDK = true
>>>   USE_HOTSPOT_INTERPRETER_MODE =
>>>   PEDANTIC =
>>>   DEV_ONLY =
>>>   NO_DOCS =
>>>   NO_IMAGES =
>>>   TOOLS_ONLY =
>>>   INSANE =
>>>   COMPILE_APPROACH = parallel
>>>   PARALLEL_COMPILE_JOBS = 2
>>>     ALT_PARALLEL_COMPILE_JOBS =
>>>   FASTDEBUG =
>>>   COMPILER_WARNINGS_FATAL = false
>>>   COMPILER_WARNING_LEVEL =
>>>   SHOW_ALL_WARNINGS =
>>>   INCREMENTAL_BUILD = false
>>>   CC_HIGHEST_OPT =
>>>   CC_HIGHER_OPT =
>>>   CC_LOWER_OPT =
>>>   CXXFLAGS =  -Os -fPIC -DCC_NOEX -W -Wall  -Wno-unused -Wno-parentheses
>>> -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN -I/usr/X11R6/include
>>> -D_DARWIN_UNLIMITED_SELECT
>>>   CFLAGS =  -Os   -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused
>>> -Wno-parentheses -pipe -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>> -F/System/Library/Frameworks/JavaVM.framework/Frameworks
>>> -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
>>> -I/usr/X11R6/include -D_DARWIN_UNLIMITED_SELECT
>>>   BOOT_JAVA_CMD =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java
>>> -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput
>>> -Djava.awt.headless=true -Xmx512m -Xms512m -XX:PermSize=32m
>>> -XX:MaxPermSize=160m
>>>   BOOT_JAVAC_CMD =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/javac 
>>> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput
>>> -J-Djava.awt.headless=true -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
>>> -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6
>>> -XDignore.symbol.file=true
>>>   BOOT_JAR_CMD =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/jar
>>>   BOOT_JARSIGNER_CMD =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/jarsigner
>>>   JAVAC_CMD =
>>> /java/re/jdk/1.7.0/promoted/latest/binaries/macosx-x86_64/bin/javac 
>>> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput
>>> -J-Djava.awt.headless=true -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
>>> -J-XX:MaxPermSize=160m  -source 7 -target 7 -encoding ascii
>>> -Xbootclasspath:/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/classes
>>>
>>>   JAVAH_CMD =
>>> /java/re/jdk/1.7.0/promoted/latest/binaries/macosx-x86_64/bin/javah
>>> -bootclasspath
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/classes
>>>   JAVADOC_CMD =
>>> /java/re/jdk/1.7.0/promoted/latest/binaries/macosx-x86_64/bin/javadoc
>>> -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
>>> -J-XX:-LogVMOutput -J-Djava.awt.headless=true -J-Xmx512m -J-Xms512m
>>> -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -bootclasspath
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/classes
>>>  
>>> Build Platform Settings:
>>>   USER = petebrunet
>>>   PLATFORM = macosx
>>>   ARCH = x86_64
>>>   LIBARCH = x86_64
>>>   ARCH_FAMILY = x86_64
>>>   ARCH_DATA_MODEL = 64
>>>   ARCHPROP = x86_64
>>>   OS_VERSION = 11.4.2 [requires at least 11.2]
>>>   OS_VARIANT_NAME = MacOSX
>>>   OS_VARIANT_VERSION = 10.7.5
>>>   MB_OF_MEMORY = 8192
>>>  
>>> GNU Make Settings:
>>>   MAKE = make
>>>   MAKE_VER = 3.81 [requires at least 3.81]
>>>   MAKECMDGOALS = sanity
>>>   MAKEFLAGS =
>>>   SHELL = /bin/sh
>>>  
>>> Target Build Versions:
>>>   JDK_VERSION = 1.7.0
>>>   MILESTONE = internal
>>>   RELEASE = 1.7.0-internal
>>>   FULL_VERSION = 1.7.0-internal-petebrunet_2014_04_18_11_07-b00
>>>   BUILD_NUMBER = b00
>>>  
>>> External File/Binary Locations:
>>>   USRJDKINSTANCES_PATH = /opt/local
>>>   BUILD_JDK_IMPORT_PATH = /java/re/jdk/1.7.0/promoted/latest/binaries
>>>     ALT_BUILD_JDK_IMPORT_PATH =
>>>   JDK_IMPORT_PATH =
>>> /java/re/jdk/1.7.0/promoted/latest/binaries/macosx-x86_64
>>>     ALT_JDK_IMPORT_PATH =
>>>   LANGTOOLS_DIST =
>>>     ALT_LANGTOOLS_DIST =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/dist
>>>   CORBA_DIST =
>>>     ALT_CORBA_DIST =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/corba/dist
>>>   JAXP_DIST =
>>>     ALT_JAXP_DIST =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/jaxp/dist
>>>   JAXWS_DIST =
>>>     ALT_JAXWS_DIST =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/jaxws/dist
>>>   HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
>>>     ALT_HOTSPOT_DOCS_IMPORT_PATH =
>>>   HOTSPOT_IMPORT_PATH =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/import
>>>     ALT_HOTSPOT_IMPORT_PATH =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/import
>>>   HOTSPOT_SERVER_PATH =
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/hotspot/import/jre/lib/server
>>>     ALT_HOTSPOT_SERVER_PATH =
>>>   CACERTS_FILE = ./../src/share/lib/security/cacerts
>>>     ALT_CACERTS_FILE =
>>>   CUPS_HEADERS_PATH = /usr/include
>>>     ALT_CUPS_HEADERS_PATH =
>>>  
>>> OpenJDK-specific settings:
>>>   FREETYPE_HEADERS_PATH = /usr/X11R6/include
>>>     ALT_FREETYPE_HEADERS_PATH =
>>>   FREETYPE_LIB_PATH = /usr/X11R6/lib
>>>     ALT_FREETYPE_LIB_PATH =
>>>  
>>> Previous JDK Settings:
>>>   PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
>>>     ALT_PREVIOUS_RELEASE_PATH =
>>>   PREVIOUS_JDK_VERSION = 1.6.0
>>>     ALT_PREVIOUS_JDK_VERSION =
>>>   PREVIOUS_JDK_FILE =
>>>     ALT_PREVIOUS_JDK_FILE =
>>>   PREVIOUS_JRE_FILE =
>>>     ALT_PREVIOUS_JRE_FILE =
>>>   PREVIOUS_RELEASE_IMAGE =
>>> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>>     ALT_PREVIOUS_RELEASE_IMAGE =
>>>
>>>
>>> Sanity check passed.
>>> make \
>>>             SKIP_FASTDEBUG_BUILD=true \
>>>             SKIP_DEBUG_BUILD=true \
>>>              \
>>>             generic_build_repo_series
>>> /bin/mkdir -p ./build/macosx-x86_64/j2sdk-image
>>> /bin/mkdir -p
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools
>>>
>>>
>>> ########################################################################
>>> ########################################################################
>>> ##### Entering langtools for target(s) all                         #####
>>> ########################################################################
>>>
>>> (cd  ./langtools/make && \
>>>       make JDK_TOPDIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/jdk
>>> JDK_MAKE_SHARED_DIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/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-petebrunet_2014_04_18_11_07-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=64 COOKED_BUILD_NUMBER=0
>>> ALT_OUTPUTDIR=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools
>>> ALT_BOOTDIR=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>> all)
>>> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>> ANT_OPTS=-Djava.io.tmpdir='/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/ant-tmp'
>>> ant -Djdk.version=1.7.0
>>> -Dfull.version='1.7.0-internal-petebrunet_2014_04_18_11_07-b00' 
>>> -Dmilestone=internal -Dbuild.number=b00 -Djavac.target=7
>>> -Djavac.source=7
>>> -Dboot.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
>>> -Dimport.jdk=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/jdk
>>> -Dbuild.dir=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build
>>> -Ddist.dir=/Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/dist
>>> build
>>> Buildfile: /Users/petebrunet/JDK7u/JDK-8041112/jdk7/langtools/make/build.xml
>>>
>>> -def-pcompile:
>>>     [mkdir] Created dir:
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/toolclasses
>>>     [javac] Compiling 2 source files to
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/toolclasses
>>>     [javac] warning: [options] bootstrap class path not set in
>>> conjunction with -source 1.6
>>>     [javac] 1 warning
>>>
>>> -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:
>>>     [mkdir] Created dir:
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/gensrc
>>>     [mkdir] Created dir:
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/classes
>>>  [pcompile] Generating 7 resource files to
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/gensrc
>>>      [copy] Copying 1 file to
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/gensrc
>>>  [pcompile] Generating 1 resource files to
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/gensrc
>>>     [javac] Compiling 298 source files to
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/build/macosx-x86_64/langtools/build/bootstrap/classes
>>>     [javac]
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java:2182:
>>> warning: [overrides] Class Resolve.InapplicableSymbolsError.Candidate
>>> overrides equals, but neither it nor any superclass overrides hashCode
>>> method
>>>     [javac]         private class Candidate {
>>>     [javac]                 ^
>>>     [javac] error: warnings found and -Werror specified
>>>     [javac] 1 error
>>>     [javac] 1 warning
>>>
>>> BUILD FAILED
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/langtools/make/build.xml:452:
>>> The following error occurred while executing this line:
>>> /Users/petebrunet/JDK7u/JDK-8041112/jdk7/langtools/make/build.xml:795:
>>> Compile failed; see the compiler error output for details.




More information about the build-dev mailing list