RFR: JDK-8145115: make JAVAC_FLAGS=-g no longer works (original) (raw)
Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Dec 11 13:03:28 UTC 2015
- Previous message (by thread): RFR: JDK-8145115: make JAVAC_FLAGS=-g no longer works
- Next message (by thread): RFR: JDK-8145185: Rename JAB the build tool to JIB
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2015-12-10 15:49, Erik Joelsson wrote:
I looked closer at your actual command lines and managed to reproduce. The problem is JAVACFLAGS=-g. We have unfortunately used that name for a local variable in make/CompileJavaModules.gmk. Fix is pretty simple, just rename that local variable. In the longer term, we need to be able to enable -g for javac with a configure argument instead.
Bug: https://bugs.openjdk.java.net/browse/JDK-8145115 Patch: diff -r a151b3ec17a1 make/CompileJavaModules.gmk --- a/make/CompileJavaModules.gmk +++ b/make/CompileJavaModules.gmk @@ -556,7 +556,7 @@ ifneq ($(BUILDCRYPTO), true) CLASSPATH += (JDKOUTPUTDIR)/modules/(JDKOUTPUTDIR)/modules/(JDKOUTPUTDIR)/modules/(MODULE) endif _-JAVACFLAGS := -bootclasspath (EMPTYDIR)−extdirs(EMPTYDIR) -extdirs (EMPTYDIR)−extdirs(EMPTYDIR) _ +JAVACFLAGSBOOTCLASSPATH := -bootclasspath $(EMPTYDIR) -extdirs _$(EMPTYDIR) _ -endorseddirs (EMPTYDIR)(EMPTYDIR) (EMPTYDIR)($(MODULE)ADDJAVACFLAGS) _$(eval (callSetupJavaCompilation,(call SetupJavaCompilation, (callSetupJavaCompilation,(MODULE), _ @@ -566,7 +566,7 @@ BIN := (if(if (if($(MODULE)BIN), ((((MODULE)BIN), _$(JDKOUTPUTDIR)/modules/$(MODULE)), _ _HEADERS := (SUPPORTOUTPUTDIR)/headers/(SUPPORTOUTPUTDIR)/headers/(SUPPORTOUTPUTDIR)/headers/(MODULE), _ _CLASSPATH := $(CLASSPATH), _ _- ADDJAVACFLAGS := ((((MODULE)ADDJAVACFLAGS) $(JAVACFLAGS) _ + ADDJAVACFLAGS := ((((MODULE)ADDJAVACFLAGS) _$(JAVACFLAGSBOOTCLASSPATH) _ )) TARGETS += ((((MODULE)) ((((MODULE)COPYEXTRA)
Patch looks good to me.
/Magnus
/Erik
On 2015-12-09 18:53, Severin Gehwolf wrote: Hi Erik,
On Wed, 2015-12-09 at 17:35 +0100, Erik Joelsson wrote: I'm not able to reproduce with either OracleJDK 8 or 8u66. The simplified reproducer is (extracted from build.log): ( (/usr/bin/bash /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/common/bin/logger.sh /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch.log /usr/lib/jvm/java-1.8.0-openjdk/bin/java -XX:+UseSerialGC -Xms32M -Xmx512M "-Xbootclasspath/p:/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/buildtools/interimlangtools.jar" -cp /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/buildtools/interimlangtools.jar com.sun.tools.sjavac.Main --server:portfile=/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/make-support/javacservers/server.port,id=java.logging,sjavac=/usr/lib/jvm/java-1.8.0-openjdk/bin/java%20-d64%20-Xms512M%20-Xmx2048M%20"-Xbootclasspath/p:/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/buildtools/interimlangtools.jar"%20-cp%20/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/buildtools/interimlangtools.jar%20com.sun.tools.sjavac.Main -source 9 -target 9 -encoding ascii -XDignore.symbol.file=true -Xlint:all -Werror -g -Xdoclint:all/protected,-reference '-Xdoclint/package:java.,javax.' -g -cp "/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.base:/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging" -implicit:none -d /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging -h /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/support/headers/java.logging.java.logging.tmp @/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch.tmp && /usr/bin/rm -f /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch.log) || (exitcode=$? && /usr/bin/mv /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch.log /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/make-support/failure-logs/java.logging.log && exit $exitcode) ) && /usr/bin/mv /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch.tmp /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk-9-hs-rt-testclone/build/linux-x8664-normal-server-release/jdk/modules/java.logging/the.java.loggingbatch
I'm also attaching the failing command invocation as a file (Putting this into a file and re-executing it reproduces the problem for me. Of course, your paths may differ :) Cheers, Severin /Erik On 2015-12-09 13:33, Severin Gehwolf wrote: Hi,
On Wed, 2015-12-09 at 12:15 +0100, Severin Gehwolf wrote: Hi Mikael,
On Wed, 2015-12-09 at 11:41 +0100, Mikael Gerdin wrote: Hi Severin,
On 2015-12-09 11:23, Severin Gehwolf wrote: Hi,
I'm trying to build an OpenJDK 9, hs-rt tree which fails to build for me with: jdk/src/java.logging/share/classes/sun/util/logging/internal/ LoggingProviderImpl.java:33: error: cannot find symbol import java.lang.System.LoggerFinder; ^ symbol: class LoggerFinder location: class System http://hg.openjdk.java.net/jdk9/hs-rt/jdk/file/7a67f71d3645/src /java.base/share/classes/java/lang/System.java#l1377 the LoggerFinder inner class appears to exist on the hg server at least. I have it in the local copy too, yet I get: CompileJavaModules.gmk:562: recipe for target 'hs-rt/build/linux- x8664-normal-server- release/jdk/modules/java.logging/the.java.loggingbatch' failed make/Main.gmk:150: recipe for target 'java.logging-java' failed With the above root-cause. I'll try with a fresh clone... Same failure with fresh clone :( Here is how I configure and invoke make: _bash configure _ _--with-boot-jdk="$JDKTOBUILDWITH" _ _--with-debug-level="release" _ _--disable-zip-debug-info _ _--enable-unlimited-crypto _ _--with-stdc++lib=dynamic _ _--disable-warnings-as-errors _ --with-num-cores=8 _make _ _DEBUGBINARIES=true _ _JAVACFLAGS=-g _ _STRIPPOLICY=nostrip _ _STRIP="" _ _DISABLEINTREEEC=true _ _ALTOBJCOPY=none _ _LOG=debug _ images Thanks, Severin $ hg paths default = http://hg.openjdk.java.net/jdk9/hs-rt/ Do I need to use a different tree these days? What am I missing? No, it should work. Are you sure you've updated all the sub-trees? http://hg.openjdk.java.net/code-tools/trees/ Is a helpful hg extension to keep track of things. I've noticed that sometimes "bash getsource.sh" does not correctly "hg update" the entire forest. I should have an updated tree, though I usually use: $ hg pull -u $ for i in hotspot corba jaxp jaxws jdk langtools nashorn; do pushd $i; hg pull -u; popd; done I've checked just now and all repos seem to have updated correctly. The CI builder for Zero seems to agree[1]. Note: The above build failure is for a regular server JVM. Not sure what's wrong. I keep looking, thanks! Cheers, Severin [1] http://builder.classpath.org/jenkins/job/OpenJDK9hsrtZero/ 191/console /Mikael Thanks, Severin
- Previous message (by thread): RFR: JDK-8145115: make JAVAC_FLAGS=-g no longer works
- Next message (by thread): RFR: JDK-8145185: Rename JAB the build tool to JIB
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]