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_and...@member.fsf.org>:

2010/1/15 Jonathan Gibbons<jonathan.gibb...@sun.com>:

Andrew John Hughes wrote:

2010/1/15 Jonathan Gibbons<jonathan.gibb...@sun.com>:


Andrew John Hughes wrote:

2010/1/15 Jonathan Gibbons<jonathan.gibb...@sun.com>:


Andrew John Hughes wrote:

2010/1/15 Andrew John Hughes<gnu_and...@member.fsf.org>:


2010/1/15 Jonathan Gibbons<jonathan.gibb...@sun.com>:


Andrew John Hughes wrote:

2010/1/8 Andrew John Hughes<gnu_and...@member.fsf.org>:


2010/1/8 Jonathan Gibbons<jonathan.gibb...@sun.com>:


Andrew John Hughes wrote:

2010/1/8 Jonathan Gibbons<jonathan.gibb...@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

Reply via email to