Does nobody build documentation?

Andrew John Hughes gnu_andrew at member.fsf.org
Fri Jan 15 15:30:24 PST 2010


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


More information about the jdk7-dev mailing list