Skip to main content

Building JDK 6 b87 problem

10 replies [Last post]
andriusburokas
Offline
Joined: 2004-12-21
Points: 0

Hello, I'm trying to build the JDK from this release:

http://www.java.net/download/jdk6/jdk-6-rc-src-b87-jrl-09_jun_2006.jar

But somehow I get an exception in one specific place. Here is the last output I get:

make[5]: Leaving directory `/cygdrive/c/java/j2se/make/sun/corba/core'
Timing: 00028 seconds or 28s for make-sun-corba-core
<<>>Recursively making rmi all @ Mon Jun 12 11:32:50 FLEDT 2006 ...
make[4]: Entering directory `/cygdrive/c/java/j2se/make/sun/rmi'
Begin Processing OTHERSUBDIRS: corbalogsources corbalogcompile
>>>Recursively making corbalogsources all @ Mon Jun 12 11:32:56 FLEDT 2006 ...
make[5]: Entering directory `/cygdrive/c/java/j2se/make/sun/rmi/corbalogsources'
/usr/bin/mkdir -p c:/java/control/build/WINDOW~1/gensrc/com/sun/corba/se/impl/logging
c:/java/control/build/WINDOW~1/bin/java -client -Xmx256m -Xms128m jscheme.REPL ../../../../src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc.scm -main main make-class ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc c:/java/control/build/WINDOW~1/gensrc/com/sun/corba/se/impl/logging
Exception in thread "main" java.lang.NoClassDefFoundError: jscheme/REPL
make[5]: *** [c:/java/control/build/WINDOW~1/gensrc/com/sun/corba/se/impl/logging/ActivationSystemException.java] Error 1
make[5]: Leaving directory `/cygdrive/c/java/j2se/make/sun/rmi/corbalogsources'
make[4]: *** [all] Error 1
make[4]: Leaving directory `/cygdrive/c/java/j2se/make/sun/rmi'
make[3]: *** [all] Error 1
make[3]: Leaving directory `/cygdrive/c/java/j2se/make/sun'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/cygdrive/c/java/j2se/make'
make[1]: *** [j2se-build] Error 2
make[1]: Leaving directory `/cygdrive/c/java/control/make'
make: *** [dev-build] Error 2

it looks like the java is missing a classpath, but I don't nkow where to add it.

Also I've found a quick answer to similar problem (http://forums.java.net/jive/thread.jspa?threadID=15423&messageID=116751#...), but I can't figure it out, where and what should I change in order to follow the instructions:

"This seems to be cured by performing "make all" in the C:\jdk_b84\j2se\make\sun\rmi> directory."

Thanks for any help, it is my first try to build Java from source, I would appreciate any assistance You can provide me.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
vijayj
Offline
Joined: 2004-10-26
Points: 0

> c:/java/control/build/WINDOW~1/bin/java -client -Xmx256m -Xms128m jscheme.REPL ../../../../src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc.scm -main main make-class ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc > c:/java/control/build/WINDOW~1/gensrc/com/sun/corba/se/impl/logging
Exception in thread "main" java.lang.NoClassDefFoundError: jscheme/REPL

This issue is fixed in our current rc build b88 source..

Thanks,
Vijayan.

kellyohair
Offline
Joined: 2004-09-03
Points: 0

We found this problem, and will try and fix this right way (build 88 or 89). This is a regression that I managed to create. I had fixed a problem where the MAKEFLAGS values were not being passed around the various sub-makes, and unfortunately the top level control/make can sometimes pass in CLASSPATH= to the all the makefiles (with the dev* and scsl* rules in particular). Turns out there are two old dusty corba Makefiles in the j2se that export a CLASSPATH environment setting to javac (bad idea), but the CLASSPATH setting was being nulled out by the control makefile directive.

So we will fix the control/make/control-rules.gmk file to not do CLASSPATH=, and I'll file a bug on the corba makefiles to not have javac rely on a CLASSPATH environment variable (using -classpath instead).

Thanks for reporting this.

-kto

andriusburokas
Offline
Joined: 2004-12-21
Points: 0

So, my guess was right, it is the CLASSPATH setting problem. I'm looking forward for this fix.

My sanity check result is pretty bad (~10 warnings), but I didn't logged it to file and currently the output in my cmd takes up more than 9999 lines.

The variable settings:

C:\java\control\make>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
ALT_BOOTDIR=C:\Progra~1\Java\jdk15~1.0_0
ALT_CACERTS_FILE=C:\Progra~1\Java\jdk15~1.0_0\jre\lib\security\cacerts
ALT_DXSDK_PATH=C:\PROGRA~1\MICROS~1.0SD
ALT_MOZILLA_HEADERS_PATH=C:\java\share\plugin
ALT_MSVCRT_DLL_PATH=C:\java\j2se\make\redist\i586
APPDATA=C:\Documents and Settings\Administrator\Application Data
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=COMPUTER
ComSpec=C:\WINNT\system32\cmd.exe
DevEnvDir=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE
DEVMGR_SHOW_DETAILS=1
DEVMGR_SHOW_NONPRESENT_DEVICES=1
DXSDK_DIR=C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\
FrameworkDir=C:\WINNT\Microsoft.NET\Framework
FrameworkSDKDir=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1
FrameworkVersion=v1.1.4322
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
include=C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\ATLMFC\INCLUDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\INCLUDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include;C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include
lib=C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\lib;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib
LOGONSERVER=\\COMPUTER
MSVCDir=C:\Program Files\Microsoft Visual Studio .NET 2003\VC7
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin\prerelease;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\bin;C:\WINNT\Microsoft.NET\Framework\v1.1.4322;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\cygwin\bin;c:\Program Files\Java\jdk1.5.0_07\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 12 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0c00
ProgramFiles=C:\Program Files
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=COMPUTER
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Administrator
VCINSTALLDIR=C:\Program Files\Microsoft Visual Studio .NET 2003
VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\
VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE
windir=C:\WINNT

And the comand from within control\make

C:\java\control\make>make dev MILESTONE=beta2 BUILD_NUMBER=87_01 ALT_MOZILLA_HEADERS_PATH=C:/java/share/plugin CACERTS_FILE=C:\PROGRA~1\JAVA\JDK15~1.0_0\JRE\LIB\SECURITY\CACERTS ALT_BOOTDIR=C:/Progra~1/Java/jdk15~1.0_0

kellyohair
Offline
Joined: 2004-09-03
Points: 0

The C:\ style of path names supplied to 'make' and inside the ALT* environment variables might cause you some shell pain (the \ or backslash might get treated as an escape character and disappear on you :^). I try and use the C:/ style paths all the time, and avoid the \ character in favor of /.
But I didn't see anything wrong with your settings.

Oh, and if you have the ALT* values set in the environment, you don't need to send them into the 'make' command.

-kto

nepalese
Offline
Joined: 2006-04-04
Points: 0

andriusburokas, I encountered the same problem.
it seems to be a bug of build environment when you try to compile by "make scsl".
u can restart ur compilation by "make j2se", then everything OK.

vford13
Offline
Joined: 2003-07-29
Points: 0

Thanks,

The "make j2se" worked for me. What is the difference between the "make scsl" and the "make j2se"?

VHF

kellyohair
Offline
Joined: 2004-09-03
Points: 0

The "scsl*" rules are exactly the same as the "dev*" rules. The "j2se" rule probably does a bit more than you want, I think the DEV_ONLY variable isn't set, but it probably skips building hotspot.

My recommendation would be to use DEV_ONLY=true and the "j2se" rule, or just use the "dev" rule, humm but the "dev" rule may build more than you want too... I know I know, this is confusing. Sorry.

All these rules are a bit complicated and need some help information, like what you see with "cd j2se/make; gnumake help" or "cd hotspot/make; gnumake help". I'll see what I can do to add more help information.

-kto

vford13
Offline
Joined: 2003-07-29
Points: 0

Same issue except on RH WS 3 Linux. This appeared after the second time I tried to build since the first time it failed with a motif library failure but that error disappeared when I built it again and now this one.

vford13
Offline
Joined: 2003-07-29
Points: 0

dev-sanity comes back with only minor OS warnings. I can post this info if it will be helpful.

It appears that the jar is at
j2se/src/share/classes/com/sun/tools/corba/se/logutil/lib/jscheme.jar

and appears to contain the missing class.

kellyohair
Offline
Joined: 2004-09-03
Points: 0

Could please give me details of what directory you 'cd' to and what the make command looks like? And any ALT_* env variables you have set.

The output of:
cd control/make ; make dev-sanity
would help figure this out too.

You are obviously using cygwin, and one issue with cygwin is that any ALT_* variable settings should not use the /cygdrive/*/ pathnames, except for the specification of /usr/bin in ALT_UNIXCOMMAND_PATH (but you normally don't need to set that one).

The reason for this not using /cygdrive/*/ is because java itself and most Windows tools will not understand these pathnames. Only the cygwin utilities know what this means.

But let me know what dev-sanity says, maybe it's something else.

-kto