Does nobody build documentation?

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Jan 28 22:29:02 UTC 2010


On 1/22/10 8:36 AM, Jonathan Gibbons wrote:
> Andrew John Hughes wrote:
>> 2010/1/15 Andrew John Hughes<gnu_andrew at member.fsf.org>:
>>
>>> 2010/1/15 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>
>>>> Andrew John Hughes wrote:
>>>>
>>>> 2010/1/15 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>>
>>>>
>>>> Andrew John Hughes wrote:
>>>>
>>>> 2010/1/15 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>>
>>>>
>>>> Andrew John Hughes wrote:
>>>>
>>>> 2010/1/15 Andrew John Hughes<gnu_andrew at member.fsf.org>:
>>>>
>>>>
>>>> 2010/1/15 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>>
>>>>
>>>> Andrew John Hughes wrote:
>>>>
>>>> 2010/1/8 Andrew John Hughes<gnu_andrew at member.fsf.org>:
>>>>
>>>>
>>>> 2010/1/8 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>>
>>>>
>>>> Andrew John Hughes wrote:
>>>>
>>>> 2010/1/8 Jonathan Gibbons<Jonathan.Gibbons at sun.com>:
>>>>
>>>>
>>>> Joe Darcy wrote:
>>>>
>>>>
>>>> Kelly O'Hair wrote:
>>>>
>>>>
>>>> Not many jdk developers build the docs on a regular basis that I know of.
>>>> The docs are certainly built nightly from the master area (jdk7/jdk7),
>>>> and should be built as part of the promoted build process.
>>>>
>>>> I have not seen this problem before. I noticed that the sourcepath is a
>>>> little strange:
>>>>
>>>>
>>>> I do build docs regularly and I'm also seeing this problem in an
>>>> up-to-date child of JDK 7 TL I'm working with under Linux.
>>>>
>>>> -Joe
>>>>
>>>>
>>>>
>>>>
>>>> I have a Hudson instance that routinely builds tl using "gnumake sanity
>>>> clean all SKIP_BOOT_CYCLE=false" but it is not seeing any problems.
>>>> Correction: Hudson is happy, but I see that there are problems in the log.
>>>> Perhaps we should work to make such issues hard failures.
>>>>
>>>> -- Jon
>>>>
>>>>
>>>>
>>>> This does cause the build to error out for me.  What are you using as
>>>> the bootstrap JDK?
>>>>
>>>>
>>>> I do a full (closed) and openjdk builds with
>>>>      ALT_BOOTDIR=/opt/jdk/1.6.0      (1.6.0_17-b02)
>>>>      ALT_JDK_IMPORT_PATH=/opt/jdk/1.7.0      (1.7.0-ea-b75)
>>>>
>>>> The openjdk build just does "gnumake sanity clean all" without the
>>>> SKIP_BOOT_CYCLE=false.
>>>>
>>>> Both builds are Hudson happy.
>>>>
>>>>
>>>>
>>>> If the OpenJDK7 javadoc from /opt/jdk/1.7.0 is being used, then yes it
>>>> won't fail.  IcedTea also passes because it builds the docs in the
>>>> second build using the javadoc of the first build.
>>>>
>>>> Maybe the solution is to set the bootclasspath to point to the newly
>>>> built libraries.  You should be able to build the documentation
>>>> without having to have an existing 1.7 build around (there's an
>>>> obvious bootstrapping problem there for one).
>>>>
>>>>
>>>>
>>>> -- Jon
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Andrew :-)
>>>>
>>>> Free Java Software Engineer
>>>> Red Hat, Inc. (http://www.redhat.com)
>>>>
>>>> Support Free Java!
>>>> Contribute to GNU Classpath and the OpenJDK
>>>> http://www.gnu.org/software/classpath
>>>> http://openjdk.java.net
>>>>
>>>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
>>>> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>>>>
>>>>
>>>>
>>>> I'm still getting the same error with b79.  Any ideas for solving this?
>>>>
>>>>
>>>> Can you summarize your build environment and describe the failure, so that
>>>> we can try and recreate it here?
>>>>
>>>> -- Jon
>>>>
>>>>
>>>>
>>>> This is on x86_64 building OpenJDK7 using OpenJDK6:
>>>>
>>>> LANG=C make ALT_BOOTDIR=${SYSTEM_ICEDTEA6} \
>>>>     ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \
>>>>     ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \
>>>>     HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \
>>>>     ANT=/usr/bin/ant \
>>>>     ALT_DROPS_DIR=/home/downloads/java/drops
>>>>
>>>> ( cd  ./jdk/make&&  \
>>>>           make sanity HOTSPOT_IMPORT_CHECK=false
>>>> JDK_TOPDIR=/home/andrew/projects/openjdk/upstream/icedtea/jdk
>>>> JDK_MAKE_SHARED_DIR=/home/andrew/projects/openjdk/upstream/icedtea/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-andrew_2010_01_15_21_11-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
>>>> ANT_HOME="/usr/share/ant" ALT_OUTPUTDIR=/mnt/builder/icedtea
>>>> ALT_LANGTOOLS_DIST=/mnt/builder/icedtea/langtools/dist
>>>> ALT_CORBA_DIST=/mnt/builder/icedtea/corba/dist
>>>> ALT_JAXP_DIST=/mnt/builder/icedtea/jaxp/dist
>>>> ALT_JAXWS_DIST=/mnt/builder/icedtea/jaxws/dist
>>>> ALT_HOTSPOT_IMPORT_PATH=/mnt/builder/icedtea/hotspot/import
>>>> BUILD_HOTSPOT=true ; )
>>>>
>>>> Build Machine Information:
>>>>    build machine = rivendell
>>>>
>>>> Build Directory Structure:
>>>>    CWD = /home/andrew/projects/openjdk/upstream/icedtea
>>>>    TOPDIR = .
>>>>    CONTROL_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  = 9
>>>>       HOTSPOT_OUTPUTDIR   = /mnt/builder/icedtea/hotspot/outputdir
>>>>       HOTSPOT_EXPORT_PATH = /mnt/builder/icedtea/hotspot/import
>>>>
>>>>
>>>>
>>>>
>>>> Bootstrap Settings:
>>>>   BOOTDIR = /usr/lib/jvm/icedtea6
>>>>     ALT_BOOTDIR = /usr/lib/jvm/icedtea6
>>>>   BOOT_VER = 1.6.0 [requires at least 1.5]
>>>>   OUTPUTDIR = /mnt/builder/icedtea
>>>>     ALT_OUTPUTDIR = /mnt/builder/icedtea
>>>>   ABS_OUTPUTDIR = /mnt/builder/icedtea
>>>>
>>>> Build Tool Settings:
>>>>   SLASH_JAVA = /NOT-SET
>>>>     ALT_SLASH_JAVA =
>>>>   VARIANT = OPT
>>>>   JDK_DEVTOOLS_DIR = /NOT-SET/devtools
>>>>     ALT_JDK_DEVTOOLS_DIR =
>>>>   ANT_HOME = /usr/share/ant
>>>>   UNIXCOMMAND_PATH = /bin/
>>>>     ALT_UNIXCOMMAND_PATH =
>>>>   COMPILER_PATH = /usr/bin/
>>>>     ALT_COMPILER_PATH =
>>>>   DEVTOOLS_PATH = /usr/bin/
>>>>     ALT_DEVTOOLS_PATH =
>>>>   UNIXCCS_PATH = /usr/ccs/bin/
>>>>     ALT_UNIXCCS_PATH =
>>>>   USRBIN_PATH = /usr/bin/
>>>>     ALT_USRBIN_PATH =
>>>>   COMPILER_NAME = GCC4
>>>>   COMPILER_VERSION = GCC4
>>>>   CC_VER = 4.4.2 [requires at least 4.3.0]
>>>>   ZIP_VER = 3.0 [requires at least 2.2]
>>>>   UNZIP_VER = 6.00 [requires at least 5.12]
>>>>   ANT_VER = 1.7.1 [requires at least 1.6.3]
>>>>   TEMPDIR = /mnt/builder/icedtea/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 = 9
>>>>     ALT_PARALLEL_COMPILE_JOBS = 9
>>>>   FASTDEBUG =
>>>>   COMPILER_WARNINGS_FATAL = false
>>>>   COMPILER_WARNING_LEVEL =
>>>>   INCREMENTAL_BUILD = false
>>>>   CC_HIGHEST_OPT =
>>>>   CC_HIGHER_OPT =
>>>>   CC_LOWER_OPT =
>>>>   CXXFLAGS =  -O2 -fPIC -DCC_NOEX -W -Wall  -Wno-unused
>>>> -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>>>   CFLAGS =  -O2   -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused
>>>> -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>>>   BOOT_JAVA_CMD = /usr/lib/jvm/icedtea6/bin/java -XX:-PrintVMOptions
>>>> -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx896m -Xms128m
>>>> -XX:PermSize=32m -XX:MaxPermSize=160m
>>>>   BOOT_JAVAC_CMD = /usr/lib/jvm/icedtea6/bin/javac
>>>> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m
>>>> -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii
>>>> -source 6 -target 6 -XDignore.symbol.file=true
>>>>   BOOT_JAR_CMD = /usr/lib/jvm/icedtea6/bin/jar
>>>>   BOOT_JARSIGNER_CMD = /usr/lib/jvm/icedtea6/bin/jarsigner
>>>>   JAVAC_CMD =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javac
>>>>   -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m
>>>> -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m  -source 7
>>>> -target 7 -encoding ascii -Xbootclasspath:/mnt/builder/icedtea/classes
>>>>   JAVAH_CMD =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javah
>>>> -bootclasspath /mnt/builder/icedtea/classes
>>>>   JAVADOC_CMD =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javadoc
>>>> -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
>>>> -J-XX:-LogVMOutput -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m
>>>> -J-XX:MaxPermSize=160m
>>>>
>>>> Build Platform Settings:
>>>>   USER = andrew
>>>>   PLATFORM = linux
>>>>   ARCH = amd64
>>>>   LIBARCH = amd64
>>>>   ARCH_FAMILY = amd64
>>>>   ARCH_DATA_MODEL = 64
>>>>   ARCHPROP = amd64
>>>>   ALSA_VERSION = 1.0.21
>>>>   OS_VERSION = 2.6.31-gentoo-r6.rivendell [requires at least 2.6]
>>>>   OS_VARIANT_NAME = Unknown
>>>>   OS_VARIANT_VERSION =
>>>>   TEMP_FREE_SPACE = 14969988
>>>>   FREE_SPACE = 27121840
>>>>   MB_OF_MEMORY = 7912
>>>>
>>>> GNU Make Settings:
>>>>   MAKE = make
>>>>   MAKE_VER = 3.81 [requires at least 3.78]
>>>>   MAKECMDGOALS = sanity
>>>>   MAKEFLAGS = w
>>>>   SHELL = /bin/sh
>>>>
>>>> Target Build Versions:
>>>>   JDK_VERSION = 1.7.0
>>>>   MILESTONE = internal
>>>>   RELEASE = 1.7.0-internal
>>>>   FULL_VERSION = 1.7.0-internal-andrew_2010_01_15_21_11-b00
>>>>   BUILD_NUMBER = b00
>>>>
>>>> External File/Binary Locations:
>>>>   USRJDKINSTANCES_PATH = /opt/java
>>>>   BUILD_JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries
>>>>     ALT_BUILD_JDK_IMPORT_PATH =
>>>>   JDK_IMPORT_PATH =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64
>>>>     ALT_JDK_IMPORT_PATH =
>>>>   LANGTOOLS_DIST =
>>>>     ALT_LANGTOOLS_DIST = /mnt/builder/icedtea/langtools/dist
>>>>   CORBA_DIST =
>>>>     ALT_CORBA_DIST = /mnt/builder/icedtea/corba/dist
>>>>   JAXP_DIST =
>>>>     ALT_JAXP_DIST = /mnt/builder/icedtea/jaxp/dist
>>>>   JAXWS_DIST =
>>>>     ALT_JAXWS_DIST = /mnt/builder/icedtea/jaxws/dist
>>>>   HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
>>>>     ALT_HOTSPOT_DOCS_IMPORT_PATH =
>>>>   HOTSPOT_IMPORT_PATH = /mnt/builder/icedtea/hotspot/import
>>>>     ALT_HOTSPOT_IMPORT_PATH = /mnt/builder/icedtea/hotspot/import
>>>>   HOTSPOT_SERVER_PATH =
>>>> /mnt/builder/icedtea/hotspot/import/jre/lib/amd64/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/include
>>>>     ALT_FREETYPE_HEADERS_PATH =
>>>>   FREETYPE_LIB_PATH = /usr/lib
>>>>     ALT_FREETYPE_LIB_PATH =
>>>>
>>>> OPENJDK Import Binary Plug Settings:
>>>>   IMPORT_BINARY_PLUGS =
>>>>   BINARY_PLUGS_JARFILE =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/openjdk/binaryplugs/linux-amd64/jre/lib/rt-closed.jar
>>>>     ALT_BINARY_PLUGS_JARFILE =
>>>>   BINARY_PLUGS_PATH =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/openjdk/binaryplugs/linux-amd64
>>>>     ALT_BINARY_PLUGS_PATH =
>>>>   BUILD_BINARY_PLUGS_PATH =
>>>> /NOT-SET/re/jdk/1.7.0/promoted/latest/openjdk/binaryplugs
>>>>     ALT_BUILD_BINARY_PLUGS_PATH =
>>>>   PLUG_LIBRARY_NAMES =
>>>>
>>>> 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 = /usr/lib/jvm/icedtea6
>>>>     ALT_PREVIOUS_RELEASE_IMAGE =
>>>>
>>>>
>>>> Sanity check passed.
>>>> Control linux amd64 1.7.0-internal all_product_build build started:
>>>> 10-01-15 21:11
>>>> Control linux amd64 1.7.0-internal build_product_image build started:
>>>> 10-01-15 21:11
>>>> make \
>>>>                 SKIP_FASTDEBUG_BUILD=true \
>>>>                 SKIP_DEBUG_BUILD=true \
>>>>                  \
>>>>                 generic_build_repo_series
>>>>
>>>> Joe said earlier in the thread that's he's also seen this error.  I
>>>> think the reason you don't is that you are building with an earlier
>>>> OpenJDK7 build available.  The failures are in APIs that have changed
>>>> between 6 and 7.
>>>> --
>>>> Andrew :-)
>>>>
>>>> Free Java Software Engineer
>>>> Red Hat, Inc. (http://www.redhat.com)
>>>>
>>>> Support Free Java!
>>>> Contribute to GNU Classpath and the OpenJDK
>>>> http://www.gnu.org/software/classpath
>>>> http://openjdk.java.net
>>>>
>>>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
>>>> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>>>>
>>>>
>>>>
>>>> The following is from the second stage of an IcedTea build against the
>>>> same source tree which does succeed.  Note that JAVADOC_CMD is valid
>>>> in this case:
>>>>
>>>>
>>>> Build Machine Information:
>>>>     build machine = rivendell
>>>>
>>>> Build Directory Structure:
>>>>     CWD = /mnt/builder/icedtea7/openjdk
>>>>     TOPDIR = .
>>>>     CONTROL_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 = true
>>>>     DEBUG_BINARIES = true
>>>>
>>>> Hotspot Settings:
>>>>        HOTSPOT_BUILD_JOBS  = 9
>>>>        HOTSPOT_OUTPUTDIR   =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/hotspot/outputdir
>>>>        HOTSPOT_EXPORT_PATH =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/hotspot/import
>>>>
>>>>
>>>>
>>>>
>>>> Bootstrap Settings:
>>>>    BOOTDIR = /mnt/builder/icedtea7/bootstrap/jdk1.6.0
>>>>      ALT_BOOTDIR = /mnt/builder/icedtea7/bootstrap/jdk1.6.0
>>>>    BOOT_VER = 1.7.0 [requires at least 1.5]
>>>>    OUTPUTDIR = /mnt/builder/icedtea7/openjdk/build/linux-amd64
>>>>      ALT_OUTPUTDIR = /mnt/builder/icedtea7/openjdk/build/linux-amd64
>>>>    ABS_OUTPUTDIR = /mnt/builder/icedtea7/openjdk/build/linux-amd64
>>>>
>>>> Build Tool Settings:
>>>>    SLASH_JAVA = /NOT-SET
>>>>      ALT_SLASH_JAVA =
>>>>    VARIANT = OPT
>>>>    JDK_DEVTOOLS_DIR = /NOT-SET/devtools
>>>>      ALT_JDK_DEVTOOLS_DIR =
>>>>    ANT_HOME = /usr/share/ant
>>>>    UNIXCOMMAND_PATH = /bin/
>>>>      ALT_UNIXCOMMAND_PATH =
>>>>    COMPILER_PATH = /usr/bin/
>>>>      ALT_COMPILER_PATH =
>>>>    DEVTOOLS_PATH = /usr/bin/
>>>>      ALT_DEVTOOLS_PATH =
>>>>    UNIXCCS_PATH = /usr/ccs/bin/
>>>>      ALT_UNIXCCS_PATH =
>>>>    USRBIN_PATH = /usr/bin/
>>>>      ALT_USRBIN_PATH =
>>>>    COMPILER_NAME = GCC4
>>>>    COMPILER_VERSION = GCC4
>>>>    CC_VER = 4.4.2 [requires at least 3.2]
>>>>    ZIP_VER = 3.0 [requires at least 2.2]
>>>>    UNZIP_VER = 6.00 [requires at least 5.12]
>>>>    ANT_VER = 1.7.1 [requires at least 1.6.3]
>>>>    TEMPDIR = /mnt/builder/icedtea7/openjdk/build/linux-amd64/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 = 9
>>>>      ALT_PARALLEL_COMPILE_JOBS = 9
>>>>    FASTDEBUG =
>>>>    COMPILER_WARNINGS_FATAL = false
>>>>    COMPILER_WARNING_LEVEL =
>>>>    INCREMENTAL_BUILD = false
>>>>    CC_HIGHEST_OPT =
>>>>    CC_HIGHER_OPT =
>>>>    CC_LOWER_OPT =
>>>>    CXXFLAGS =  -O2 -fPIC -DCC_NOEX -W -Wall  -Wno-unused
>>>> -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g
>>>>    CFLAGS =  -O2   -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused
>>>> -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g
>>>>    BOOT_JAVA_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/java
>>>> -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput
>>>> -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m
>>>>    BOOT_JAVAC_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/javac
>>>> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m
>>>> -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii
>>>> -source 6 -target 6 -XDignore.symbol.file=true
>>>>    BOOT_JAR_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/jar
>>>>    BOOT_JARSIGNER_CMD =
>>>> /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/jarsigner
>>>>    JAVAC_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/javac
>>>> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
>>>> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m
>>>> -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m  -g -source 7
>>>> -target 7 -encoding ascii
>>>> -Xbootclasspath:/mnt/builder/icedtea7/openjdk/build/linux-amd64/classes
>>>>    JAVAH_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/javah
>>>> -bootclasspath /mnt/builder/icedtea7/openjdk/build/linux-amd64/classes
>>>>    JAVADOC_CMD = /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/javadoc
>>>> -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
>>>> -J-XX:-LogVMOutput -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m
>>>> -J-XX:MaxPermSize=160m
>>>>
>>>> Build Platform Settings:
>>>>    USER = andrew
>>>>    PLATFORM = linux
>>>>    ARCH = amd64
>>>>    LIBARCH = amd64
>>>>    ARCH_FAMILY = amd64
>>>>    ARCH_DATA_MODEL = 64
>>>>    ARCHPROP = amd64
>>>>    ALSA_VERSION = 1.0.21
>>>>    OS_VERSION = 2.6.31-gentoo-r6.rivendell [requires at least 2.6]
>>>>    OS_VARIANT_NAME = Unknown
>>>>    OS_VARIANT_VERSION =
>>>>    TEMP_FREE_SPACE = 15192600
>>>>    FREE_SPACE = 45862084
>>>>    MB_OF_MEMORY = 7912
>>>>
>>>> GNU Make Settings:
>>>>    MAKE = /usr/bin/make
>>>>    MAKE_VER = 3.81 [requires at least 3.78]
>>>>    MAKECMDGOALS = sanity
>>>>    MAKEFLAGS = w
>>>>    SHELL = /bin/sh
>>>>
>>>> Target Build Versions:
>>>>    JDK_VERSION = 1.7.0_78
>>>>    MILESTONE = fcs
>>>>    RELEASE = 1.7.0_78-icedtea
>>>>    FULL_VERSION = 1.7.0_78-icedtea-b78
>>>>    BUILD_NUMBER = b78
>>>>
>>>> External File/Binary Locations:
>>>>    USRJDKINSTANCES_PATH = /opt/java
>>>>    BUILD_JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0_78/promoted/latest/binaries
>>>>      ALT_BUILD_JDK_IMPORT_PATH =
>>>>    JDK_IMPORT_PATH = /mnt/builder/icedtea7/bootstrap/jdk1.6.0
>>>>      ALT_JDK_IMPORT_PATH = /mnt/builder/icedtea7/bootstrap/jdk1.6.0
>>>>    LANGTOOLS_DIST =
>>>>      ALT_LANGTOOLS_DIST =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/langtools/dist
>>>>    CORBA_DIST =
>>>>      ALT_CORBA_DIST =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/corba/dist
>>>>    JAXP_DIST =
>>>>      ALT_JAXP_DIST =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/jaxp/dist
>>>>    JAXWS_DIST = /mnt/builder/icedtea7/openjdk/build/linux-amd64/jaxws/dist
>>>>      ALT_JAXWS_DIST =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/jaxws/dist
>>>>    HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
>>>>      ALT_HOTSPOT_DOCS_IMPORT_PATH =
>>>>    HOTSPOT_IMPORT_PATH =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/hotspot/import
>>>>      ALT_HOTSPOT_IMPORT_PATH =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/hotspot/import
>>>>    HOTSPOT_SERVER_PATH =
>>>> /mnt/builder/icedtea7/openjdk/build/linux-amd64/hotspot/import/jre/lib/amd64/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/include
>>>>      ALT_FREETYPE_HEADERS_PATH =
>>>>    FREETYPE_LIB_PATH = /usr/lib
>>>>      ALT_FREETYPE_LIB_PATH =
>>>>
>>>> OPENJDK Import Binary Plug Settings:
>>>>    IMPORT_BINARY_PLUGS =
>>>>    BINARY_PLUGS_JARFILE =
>>>> /NOT-SET/re/jdk/1.7.0_78/promoted/latest/openjdk/binaryplugs/linux-amd64/jre/lib/rt-closed.jar
>>>>      ALT_BINARY_PLUGS_JARFILE =
>>>>    BINARY_PLUGS_PATH =
>>>> /NOT-SET/re/jdk/1.7.0_78/promoted/latest/openjdk/binaryplugs/linux-amd64
>>>>      ALT_BINARY_PLUGS_PATH =
>>>>    BUILD_BINARY_PLUGS_PATH =
>>>> /NOT-SET/re/jdk/1.7.0_78/promoted/latest/openjdk/binaryplugs
>>>>      ALT_BUILD_BINARY_PLUGS_PATH =
>>>>    PLUG_LIBRARY_NAMES =
>>>>
>>>> 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 = /mnt/builder/icedtea7/bootstrap/jdk1.6.0
>>>>      ALT_PREVIOUS_RELEASE_IMAGE =
>>>>
>>>>
>>>> Sanity check passed.
>>>> Control linux amd64 1.7.0_78-icedtea all_product_build build started:
>>>> 10-01-08 23:39
>>>> Control linux amd64 1.7.0_78-icedtea build_product_image build
>>>> started: 10-01-08 23:39
>>>> /usr/bin/make \
>>>>                SKIP_FASTDEBUG_BUILD=true \
>>>>                SKIP_DEBUG_BUILD=true \
>>>>
>>>> It appears to me that javadoc fails on the first build because it is using:
>>>>
>>>>    JAVADOC_CMD = $(BOOT_JAVA_CMD) \
>>>>
>>>> "-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)"
>>>> \
>>>>                  -jar $(JAVADOC_JAR)
>>>>
>>>> where BOOT_JAVA_CMD is from OpenJDK6 and has a different version of
>>>> those classes on its bootclasspath.
>>>>
>>>> Adding the path to the just-built classes onto the -Xbootclasspath/p
>>>> may be the solution.  They would then be preferred over the bootstrap
>>>> classes.
>>>>
>>>>
>>>>
>>>> I'm not sure I understand the point you are making.   BOOT_JAVA_CMD would
>>>> likely not have any of those classes on its bootclasspath, and even if it
>>>> did, they would be superceded by the use of -Xbootclasspath/p:. JAVADOC_JAR,
>>>> JAVAC_JAR and DOCLETS_JAR should all point at newly generated jar files
>>>> produced by the langtools part of the build.
>>>>
>>>> -- Jon
>>>>
>>>>
>>>>
>>>> BOOT_JAVA_CMD will have the runtime classes from the JDK on its
>>>> bootclasspath (rt.jar) and that's where the conflict is occurring.
>>>>
>>>> Applying the simple change in:
>>>>
>>>> http://cr.openjdk.java.net/~andrew/build/webrev.03/
>>>>
>>>> diff -r 380b85eb2bcd make/docs/Makefile
>>>> --- a/make/docs/Makefile      Fri Jan 15 17:36:16 2010 +0000
>>>> +++ b/make/docs/Makefile      Fri Jan 15 21:47:30 2010 +0000
>>>> @@ -52,7 +52,7 @@
>>>>                   -keywords                            \
>>>>                $(JAVADOC_VM_MEMORY_FLAGS)              \
>>>>                $(ADDITIONAL_JAVADOCFLAGS)
>>>> -ADDITIONAL_JAVADOCFLAGS =
>>>> +ADDITIONAL_JAVADOCFLAGS = -bootclasspath $(OUTPUTDIR)/classes
>>>>
>>>>   CORE_JAVADOCFLAGS  = $(COMMON_JAVADOCFLAGS)          \
>>>>                $(TAGS)                                 \
>>>>
>>>> fixes the problem and lets the build complete as the newly built 1.7
>>>> classes take precedence over those from the bootstrap rt.jar.
>>>>
>>>>
>>>> Aha, it looks like it's another case of the double bootclasspath problem,
>>>> this time for javadoc, instead of javac where it typically crops up :-)
>>>>
>>>> The key point here is that you're setting the bootclasspath option for
>>>> javadoc, not for the JVM running javadoc. It's a subtle but important
>>>> difference. In other circumstances, it normally comes up as the difference
>>>> between -Xbootclasspath and -J-Xbootclasspath.
>>>>
>>>>
>>>>
>>>> Ah, understood.  Is this fix ok to push?  If so, can I have a bug ID? :-)
>>>>
>>>>
>>>>
>>>> -- Jon
>>>>
>>>>
>>>> I'm not one to be listed as a reviewer here, but I've created you the bug
>>>> ID:
>>>>
>>>> 6917466 Should set bootclasspath for javadoc in jdk build
>>>>
>>>> -- Jon
>>>>
>>>>
>>>>
>>> Ok, thanks.  Who is a suitable reviewer? Kelly?
>>> --
>>> Andrew :-)
>>>
>>> Free Java Software Engineer
>>> Red Hat, Inc. (http://www.redhat.com)
>>>
>>> Support Free Java!
>>> Contribute to GNU Classpath and the OpenJDK
>>> http://www.gnu.org/software/classpath
>>> http://openjdk.java.net
>>>
>>> PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
>>> Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
>>>
>>>
>>
>> Can someone please review this officially so it can be pushed?
>>
> Kelly is out of the office this week, but should be back on Monday.
>
> -- Jon

Jon,

This seems like the right thing to do, having javadoc ONLY see the
classes that were built.
If you agree, then I'm ok with it.
Although, I can't really be sure it will work.

---

Andrew,

Maybe this change belongs in the jdk/make/common/Defs-java.gmk file?
Add the "-bootclasspath" to JAVADOC_CMD?

Maybe add:
JAVADOCFLAGS += -bootclasspath $(CLASSBINDIR)

Then add $(JAVADOCFLAGS) to the definitions of $(JAVADOC_CMD)?

-kto



More information about the build-dev mailing list