Oracle jdk6 has this problem. openjdk6 does not have this problem. I have used openjdk6 to successfully build jdk7.
On Wed, Apr 27, 2011 at 11:26 PM, Kelly O'Hair <kelly.oh...@oracle.com>wrote: > This is a reply to a delayed email, but the answer may be helpful to > someone, assuming this email > doesn't get delayed... > > There is a bug in the corba idlj tool that causes build failures when the > root of the directory path doing the > build starts with /d or /i or /D or /T ... basically any / followed by what > is an option letter for idlj. > The idlj command line parsing was originally setup to accept -option or > /option, trying to be Unix and > Windows friendly I suspect, but that was obviously (now) a bad idea. > This was fixed in the jdk7 idlj, but the problem lingers in the jdk6 > version. > > --- > Slightly related to this is an outstanding bug with the corba repository > build process in that the idlj > tool should be handled more like the langtools javac.jar, we should build a > idlj.jar first with the > latest idlj sources in jdk7, run that as part of the jdk7 corba build (run > idlj.jar with the bootdir jdk), > and also build idlj classes with -target 7 for delivery into the jdk7 > product. > This means that these corba sources need to be compilable and runnable with > the boot jdk. > Had that been done, the original issue would not have been seen because we > would not have been > running the boot jdk idlj, which has this build failure issue. > > Yeah yeah ZZZZZZZZ blah blah blah ;^) > > -kto > > On Apr 5, 2011, at 7:06 AM, jingguo yao wrote: > > > I am using Ubuntu desktop 10.04. And I ran the following commands to > > set up the build environment (SUN JDK 1.6.0_24 is used): > > > > export LANG=C > > expor ALT_BOOTDIR=/usr/lib/jvm/java-6-sun > > > > And "make sanity" passed. There was the following error when running > "make": > > > > make[5]: Leaving directory > > `/data/prog/java/openjdk/jdk7/corba/make/org/omg/sources' > > make[5]: Entering directory > > `/data/prog/java/openjdk/jdk7/corba/make/org/omg/PortableServer' > > ../../../common/shared/Defs-linux.gmk:130: "WARNING: Value of > > JDK_IMPORT_PATH cannot be empty, check or set ALT_JDK_IMPORT_PATH" > > make[5]: *** No rule to make target > > > `/data/prog/java/openjdk/jdk7/build/linux-i586/corba/classes/org/omg/PortableServer/AdapterActivator.class', > > needed by > `/data/prog/java/openjdk/jdk7/build/linux-i586/corba/tmp/org/org.omg.PortableServer/.classes.list'. > > Stop. > > make[5]: Leaving directory > > `/data/prog/java/openjdk/jdk7/corba/make/org/omg/PortableServer' > > make[4]: *** [build] Error 1 > > make[4]: Leaving directory > `/data/prog/java/openjdk/jdk7/corba/make/org/omg' > > make[3]: *** [build] Error 1 > > make[3]: Leaving directory `/data/prog/java/openjdk/jdk7/corba/make/org' > > make[2]: *** [build] Error 1 > > make[2]: Leaving directory `/data/prog/java/openjdk/jdk7/corba/make' > > make[1]: *** [corba-build] Error 2 > > make[1]: Leaving directory `/data/prog/java/openjdk/jdk7' > > make: *** [build_product_image] Error 2 > > > > Then I checked the previous make messages. I found the following message: > > > > make[5]: Entering directory > > `/data/prog/java/openjdk/jdk7/corba/make/org/omg/sources' > > ../../../common/shared/Defs-linux.gmk:130: "WARNING: Value of > > JDK_IMPORT_PATH cannot be empty, check or set ALT_JDK_IMPORT_PATH" > > /usr/lib/jvm/java-6-sun/bin/idlj -J-XX:-PrintVMOptions > > -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-client > > -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -td > > "/data/prog/java/openjdk/jdk7/build/linux-i586/corba/gensrc" -i > > "../../../../src/share/classes/org/omg/PortableServer" -i > > "../../../../src/share/classes/org/omg/PortableInterceptor" -corba 3.0 > > -fall -pkgPrefix PortableServer org.omg > > ../../../../src/share/classes/org/omg/PortableServer/poa.idl > > com.sun.tools.corba.se.idl.InvalidArgument: Invalid argument: -td. > > > > Compiler Usage: > > > > java com.sun.tools.corba.se.idl.toJavaPortable.Compile [options] <idl > file> > > > > where <idl file> is the name of a file containing IDL definitions, and > > [options] is any combination of the options listed below. The options > > are optional and may appear in any order; <idl file> is required and > > must appear last. > > > > Options: > > -d <symbol> This is equivalent to the following line in an > > IDL file: #define <symbol> > > -emitAll Emit all types, including those found in > > #included files. > > -f<side> Define what bindings to emit. <side> is one > > of client, > > server, all, serverTIE, allTIE. serverTIE and > allTIE > > cause delegate model skeletons to be emitted. > If this > > flag is not used, -fclient is assumed. > > -i <include path> By default, the current directory is scanned > for > > included files. This option adds another > directory. > > -keep If a file to be generated already exists, do > not > > overwrite it. By default it is overwritten. > > -noWarn Suppress warnings. > > -oldImplBase Generate skeletons compatible with old > > (pre-1.4) JDK ORBs. > > -pkgPrefix <t> <prefix> When the type or module name <t> is encountered > at > > file scope, begin the Java package name for all > files > > generated for <t> with <prefix>. > > -pkgTranslate <t> <pkg> When the type or module name <t> in > > encountered, replace > > it with <pkg> in the generated java package. > > Note that > > pkgPrefix changes are made first. <t> must > match the > > full package name exactly. Also, <t> must not > be > > org, org.omg, or any subpackage of org.omg. > > -skeletonName <xxx%yyy> Name the skeleton according to the pattern. > > The defaults are: > > %POA for the POA base class (-fserver or -fall) > > _%ImplBase for the oldImplBase base class > > (-oldImplBase and (-fserver or -fall)). > > -td <dir> use <dir> for the output directory instead of > > the current directory. > > -tieName <xxx%yyy> Name the tie according to the pattern. The > > defaults are: > > %POATie for the POA tie (-fserverTie or > -fallTie) > > %_Tie for the oldImplBase tie > > (-oldImplBase and (-fserverTie or -fallTie)). > > -v, -verbose Verbose mode. > > -version Display the version number and quit. > > > > It seems that the cause is that a invalid argument -td is passed to > > "java com.sun.tools.corba.se.idl.toJavaPortable.Compile". Can anybody > > help me on this? Thanks. > > > > -- > > Jingguo > > -- Jingguo