Does nobody build documentation?

Kelly O'Hair Kelly.Ohair at Sun.COM
Fri Jan 29 00:53:06 UTC 2010



On 1/28/10 3:41 PM, Andrew John Hughes wrote:
> On 28 January 2010 22:29, Kelly O'Hair<Kelly.Ohair at sun.com>  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.
>
> The fix I proposed does work -- would have been silly to post it otherwise :-)
>
>>
>> ---
>>
>> 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)?
>>
>
> I didn't go this route because, while it is in line with what JAVAC
> and JAVAH do, I had
> a feeling it would affect other parts of the build.  And it seems I was right:
>
> In jdk/make/javax/swing/beaninfo/SwingBeans.gmk:
>
> LOCAL_JAVADOC   = $(JAVADOC_CMD) $(JAVADOCFLAGS)
> # get the absolute path to the jar command.
> PREFIX          = 1.2
> JAVADOCFLAGS    = $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)
>
> causes:
>
> /usr/lib/jvm/icedtea6/bin/java -XX:-PrintVMOptions
> -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx896m -Xms128m
> -XX:PermSize=32m -XX:MaxPermSize=160m
> "-Xbootclasspath/p:/mnt/builder/build/langtools/dist/bootstrap/lib/javadoc.jar:/mnt/builder/build/langtools/dist/bootstrap/lib/javac.jar:/mnt/builder/build/langtools/dist/bootstrap/lib/doclets.jar"
> -jar /mnt/builder/build/langtools/dist/bootstrap/lib/javadoc.jar
> -XDignore.symbol.file=true -source 7 -XDignore.symbol.file=true
> -source 7 -doclet GenDocletBeanInfo -x false -d
> /mnt/builder/build/tmp/1.2src -t
> ../../../tools/swing-beans/SwingBeanInfo.template -docletpath
> /mnt/builder/build/tmp \
>
> with the addition of our JAVADOCFLAGS, as both are being added.  It
> seems this Makefile is actually crying out for the same functionality
> we're adding so if we just get rid of LOCAL_JAVADOC and use JAVADOC
> directly,
> the build works fine.
>
> That gives us http://cr.openjdk.java.net/~andrew/build/webrev.06/
>
> Does this look ok?

I think in the swing file it should be:
   JAVADOCFLAGS    += $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)

instead of:
   JAVADOCFLAGS     = $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)

Just to make it clear these are additional javadoc options.

Otherwise I approve.

-kto

>
>> -kto
>>
>
>
>



More information about the build-dev mailing list