JDK 7 build errors on Windows XP

Kelly O'Hair Kelly.Ohair at Sun.COM
Sun Apr 13 21:15:43 UTC 2008


Mixing /cygdrive in a bat file with Windows specific variables or
inside Windows shells seems like a very bad idea.

The best results are from starting in a cygwin shell, and never
using the /cygdrive style paths, stick with C:/ style paths.

The error "COMPILER_VERSION cannot be empty here" usually indicates
that cl.exe is not in the PATH, ALT_COMPILER_PATH is not set correctly,
or the LIB/INCLUDE variables are not set properly.

Try running just: cl
and get that working first.

Maybe someone else that has gotten a batch file working can help
but I tend to avoid bat files completely.

-kto

PJ Pillai wrote:
> Hello Everyone,
>  
> Thanks very much for your response. I appreciate it. I did some progress 
> and now sanity check is passed. However make dev still fails.
> I am using patched make below - 
> http://www.cmake.org/files/cygwin/make.exe  and I am using build 25 
> (openjdk-7-ea-src-b25-10_apr_2008.zip 
> <http://www.java.net/download/openjdk/jdk7/promoted/b25/openjdk-7-ea-src-b25-10_apr_2008.zip>)
>  
> Please see the console output below:
>  
> C:\JDK7\java>make dev > build.log
> File not found - *-template
> ..\..\..\..\src\share\classes\org\omg\CORBA\ORB.java:593: warning: 
> non-varargs c
> all of varargs method with inexact argument type for last parameter;
> cast to java.lang.Object for a varargs call
> cast to java.lang.Object[] for a non-varargs call and to suppress this 
> warning
>             return (org.omg.CORBA.NVList)meth.invoke(this, argx);
>                                                            ^
> Note: Some input files use or override a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.
> Note: Some input files use unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
> 1 warning
> ../../../../../../common/shared/Compiler-msvc.gmk:133: *** 
> COMPILER_VERSION cannot be empty here. 
> Stop.
> make1[7]: *** [build] Error 1
> make1[6]: *** [build] Error 1
> make1[5]: *** [build] Error 1
> make1[4]: *** [build] Error 1
> make1[3]: *** [build] Error 1
> make1[2]: *** [build] Error 1
> make1[1]: *** [corba-build] Error 2
> make1: *** [dev-build] Error 2
>  
> I set the environment variables from a batch file. Here is the batch 
> file content:
>  
> ============================================================
> 
> set VC=/cygdrive/C/PROGRA~1/MICROS~2.NET <http://2.NET>
> set JAVA_HOME=
> set CLASSPATH=
> set ALT_COMPILER_PATH=%VC%/VC7/Bin
> set ALT_MSDEVTOOLS_PATH=%VC%/Common7/Tools/Bin
> set ALT_MSVCR71_DLL_PATH=%VC%/SDK/v1.1/Bin
> set ALT_DXSDK_PATH=/cygdrive/C/PROGRA~1/MICROS~1.0SD
> 
> set 
> PATH=%VC%/VC7/Bin;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/cygwin/bin;C:/jdk6/bin;C:/ant/bin;c:/Tools/findbugs/bin
> 
> set ARCH_DATA_MODEL=32
> 
> set ALT_BOOTDIR=C:/jdk6
> set ALT_JDK_IMPORT_PATH=C:/jdk6
> set ALT_OUTPUTDIR=C:/JDK7/java/build
> set ALT_BINARY_PLUGS_PATH=/cygdrive/C/JDK7/binary
> 
> set ALT_CACERTS_FILE=C:/JDK7/java/jdk/src/share/lib/security/cacerts
> 
> set ALT_FREETYPE_LIB_PATH=C:/Tools/freetype/lib
> set ALT_FREETYPE_HEADERS_PATH=C:/tools/freetype/include
> set ANT_HOME=C:/ant
> set ZIP_VER=2.2
> set UNZIP_VER=5.12
> 
> call C:\Progra~1\Micros~2.NET\Common7\Tools\vsvars32.bat
> 
> ===============================================
> 
> Please help.
> 
> Thanks,
> 
> Pravin
> 
>  
> 
>  
> 
> 
>  
> On 4/11/08, *Kelly O'Hair* <Kelly.Ohair at sun.com 
> <mailto:Kelly.Ohair at sun.com>> wrote:
> 
>     Yes. You need an older make.exe.
> 
>     See:
>     http://mail.openjdk.java.net/pipermail/build-dev/2007-July/000116.html
>     (Download a patched cygwin make binary from
>     http://www.cmake.org/files/cygwin/make.exe )
> 
>     Good catch, thanks.
> 
>     -kto
> 
> 
>     Francis ANDRE wrote:
> 
>         free.exe belongs to the package procps
> 
>          >> make/sanity-rules.gmk:61: *** multiple target patterns.  Stop.
>         You should downgrade the make.exe to the 3.80 version as
>         explained in the README
> 
>         Kelly O'Hair a écrit :
> 
>             Yes. It is looking for the free command.
> 
>             It uses free to find the RAM memory size so it can set the
>             java -Xmx memory
>             setting to an appropriate value based on your machine
>             (javac, jar etc.)
> 
>             I assume you need to install the cygwin package that
>             includes this command,
>             but I'm not sure what package that is.
>             I normally just install all of cygwin.
> 
>             -kto
> 
>             PJ Pillai wrote:
> 
>                 Hello,
>                  I using build b25 source code from -
>                 http://download.java.net/openjdk/jdk7/
>                  I setup all the software as per readme html and setup
>                 my environment variable. When run make sanity, I am
>                 getting following error:
>                  c:\JDK7\java>make sanity
>                 /bin/sh: free: command not found
>                 make/sanity-rules.gmk:61: *** multiple target patterns.
>                  Stop.
>                  Is it looking for free command? I don't see that
>                 command in c:\cygwin\bin.
>                  Please help.
>                  Thanks
>                 Pravin
> 
> 
> 
> 



More information about the build-dev mailing list