Does nobody build documentation?

Jonathan Gibbons Jonathan.Gibbons at Sun.COM
Thu Jan 28 23:00:22 UTC 2010


Kelly O'Hair wrote:
>
> 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.
>

I agree with the basis of this fix (meaning the idea is correct and I 
like your suggestions below.)

-- Jon

> ---
>
> 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