Does nobody build documentation?

Andrew John Hughes gnu_andrew at member.fsf.org
Thu Jan 28 23:41:42 UTC 2010


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?

> -kto
>



-- 
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 build-dev mailing list