Grr....

Kelly O'Hair Kelly.Ohair at Sun.COM
Fri Mar 27 16:40:36 UTC 2009



Ted Neward wrote:
> I’m trying to reset my OpenJDK build environment back to a working state 
> (after the Innovator’s Challenge project more or less hacked it to 
> death), and I’m running into some problems that I don’t **think** are 
> all that obvious to debug, but it could be my mental state at 3AM, after 
> wrestling with this for close to 6 hours and feeling like I’m shaving a 
> VERY big yak.
> 
>  
> 
> Basically, freetypecheck fails to build. AGAIN. (This thing is my nemeis.)
> 

freetypecheck has been a royal major pain in the you know what....
So you are not alone.

>  
> 
> Here’s what I’m getting. Somebody please tell me how to figure out where 
> the “:convert integer expression expected” messages are coming from, or 
> why I’m getting them, before I go insane. (Then you can tell me why 
> cl.exe can’t find “stdio.h” when it’s on the INCLUDE environment 
> variable path….)

The problem is when the freetype include files are living with the cygwin
stdio.h, which is not the one that cl.exe wants or likes.

I ran into this when I tried to use the freetype in cygwin, so I finally
gave up on using a cygwin freetype.

> 
>  
> 
> Oh and while you’re at THAT, somebody tell me how to build a DLL version 
> of FreeType.

I went down that path and pulled my hair out for a couple of hours.
The instructions are missing and everything I found on the web didn't work.

I finally copied the files in our shared nfs area that was obviously
built by someone who knew what he was doing (unlike me).
I'll try and dig up the copies I have and put them at:
    http://cr.openjdk.java.net/~ohair/windows-i586-freetype/
    http://cr.openjdk.java.net/~ohair/windows-x64-freetype/
Let me know if you can access those files.
You should be able to do something like:
    scp -r cr.openjdk.java.net:~ohair/windows-i586-freetype .
I think...

> 
>  
> 
> (I swear, I hate FreeType.)

Me too. :^(  Or maybe it's just the way we use it. :^(

> 
>  
> 
> How in the heck do you debug makefiles, Kelly? Seriously?

In this case, the Makefile is purposely being silent using the '@'
prefix, which I never like to do on compile lines.
But in this case I had to cd into the make/tools/freetypecheck
directory and run the makefile there, after removing the '@'
prefix on the compile line.

These sanity checks that actually run the compiler are something
I try to avoid, and freetype is particularly nasty.

I plan on filing a couple bugs on this, one for the lack of instructions
in the README-builds.html file for how to build it, and second on
the sanity check needing to be torn down and re-implemented.

Sorry you ran into this problem.

-kto

> 
>  
> 
> $ make sanity
> 
> ( cd  ./jdk/make && \
> 
>           make sanity HOTSPOT_IMPORT_CHECK=false 
> JDK_TOPDIR=c:/Prg/OpenJDK/openj
> 
> dk/jdk JDK_MAKE_SHARED_DIR=c:/Prg/OpenJDK/openjdk/jdk/make/common/shared 
> EXTERNA
> 
> LSANITYCONTROL=true TARGET_CLASS_VERSION=5 MILESTONE=internal 
> BUILD_NUMBER=b00 J
> 
> DK_BUILD_NUMBER=b00 FULL_VERSION=1.7.0-internal-ted_2009_03_27_03_08-b00 
> PREVIOU
> 
> S_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_VER
> 
> SION=6 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=32 COOKED_BUILD_NUMBER=0 
> ANT_HOM
> 
> E="c:/Prg/apache-ant-1.7.0" 
> ALT_OUTPUTDIR=c:/Prg/OpenJDK/openjdk/build/windows-i
> 
> 586 
> ALT_LANGTOOLS_DIST=c:/Prg/OpenJDK/openjdk/build/windows-i586/langtools/dist
> 
> ALT_CORBA_DIST=c:/Prg/OpenJDK/openjdk/build/windows-i586/corba/dist 
> ALT_JAXP_DIS
> 
> T=c:/Prg/OpenJDK/openjdk/build/windows-i586/jaxp/dist 
> ALT_JAXWS_DIST=c:/Prg/Open
> 
> JDK/openjdk/build/windows-i586/jaxws/dist 
> ALT_HOTSPOT_IMPORT_PATH=c:/Prg/OpenJDK
> 
> /openjdk/build/windows-i586/hotspot/import BUILD_HOTSPOT=true ; )
> 
> /bin/sh: line 0: [: cygpath:: integer expression expected
> 
> /bin/sh: line 0: [: cygpath:: integer expression expected
> 
> /bin/sh: line 0: [: cant -lt 6 ]; then echo older; elif [ cant: integer 
> expressi
> 
> on expected
> 
> /bin/sh: line 0: [: convert: integer expression expected
> 
> /bin/sh: line 0: [: convert: integer expression expected
> 
> make[1]: Entering directory `/cygdrive/c/Prg/OpenJDK/openjdk/jdk/make'
> 
> make[2]: *** 
> [c:/Prg/OpenJDK/openjdk/build/windows-i586/btbins/freetype_versionc
> 
> heck.exe] Error 2
> 
> make[1]: Leaving directory `/cygdrive/c/Prg/OpenJDK/openjdk/jdk/make'
> 
>  
> 
> Build Machine Information:
> 
>    build machine = XPJava
> 
>  
> 
> Build Directory Structure:
> 
>    CWD = /cygdrive/c/Prg/OpenJDK/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
> 
>  
> 
> Hotspot Settings:
> 
>       HOTSPOT_BUILD_JOBS  =
> 
>       HOTSPOT_OUTPUTDIR   = 
> c:/Prg/OpenJDK/openjdk/build/windows-i586/hotspot/ou
> 
> tputdir
> 
>       HOTSPOT_EXPORT_PATH = 
> c:/Prg/OpenJDK/openjdk/build/windows-i586/hotspot/im
> 
> port
> 
>  
> 
>  
> 
>  
> 
>  
> 
> Bootstrap Settings:
> 
>   BOOTDIR = C:/Prg/jdk1.6.0
> 
>     ALT_BOOTDIR = C:/Prg/jdk1.6.0
> 
>   BOOT_VER = 1.6.0 [requires at least 1.5]
> 
>   OUTPUTDIR = c:/Prg/OpenJDK/openjdk/build/windows-i586
> 
>     ALT_OUTPUTDIR = c:/Prg/OpenJDK/openjdk/build/windows-i586
> 
>   ABS_OUTPUTDIR = c:/Prg/OpenJDK/openjdk/build/windows-i586
> 
>  
> 
> Build Tool Settings:
> 
>   SLASH_JAVA = J:
> 
>     ALT_SLASH_JAVA =
> 
>   VARIANT = OPT
> 
>   JDK_DEVTOOLS_DIR = J:/devtools
> 
>     ALT_JDK_DEVTOOLS_DIR =
> 
>   ANT_HOME = c:/Prg/apache-ant-1.7.0
> 
>   UNIXCOMMAND_PATH = /usr/bin/
> 
>     ALT_UNIXCOMMAND_PATH =
> 
>   COMPILER_PATH = C:/Prg/MSVS9.0/Common7/Tools/../../Vc/Bin/
> 
>     ALT_COMPILER_PATH =
> 
>   DEVTOOLS_PATH = /usr/bin/
> 
>     ALT_DEVTOOLS_PATH =
> 
>   MSVCRT_DLL_PATH = C:/WINDOWS/system32
> 
>     ALT_MSVCRT_DLL_PATH =
> 
>   MSVCRNN_DLL_PATH = C:/Prg/OpenJDK/deps/MSVCR
> 
>     ALT_MSVCRNN_DLL_PATH = C:/Prg/OpenJDK/deps/MSVCR
> 
>   MSDEVTOOLS_PATH = C:/Prg/MSVS9.0/VC/bin/
> 
>     ALT_MSDEVTOOLS_PATH = C:/Prg/MSVS9.0/VC/bin
> 
>   COMPILER_NAME = Visual Studio 9
> 
>   COMPILER_VERSION = VS2008
> 
>   CC_VER = 15.00.21022.08 [requires at least 15.00.21022.08]
> 
>   ZIP_VER = 2.32 [requires at least 2.2]
> 
>   UNZIP_VER = 5.52 [requires at least 5.12]
> 
>   LINK_VER = 9.00.21022.08 [requires at least 9.00.21022.08]
> 
>   ANT_VER = cygpath: can't convert empty path Unable to locate 
> tools.jar. Expect
> 
> ed to find it in C:\Program Files\Java\jre61.7.0 [requires at least 1.6.3]
> 
>   TEMPDIR = c:/Prg/OpenJDK/openjdk/build/windows-i586/tmp
> 
>  
> 
> Build Directives:
> 
>   OPENJDK = true
> 
>   USE_HOTSPOT_INTERPRETER_MODE =
> 
>   PEDANTIC =
> 
>   DEV_ONLY =
> 
>   NO_DOCS =
> 
>   NO_IMAGES =
> 
>   TOOLS_ONLY =
> 
>   INSANE =
> 
>   COMPILE_APPROACH = normal
> 
>   FASTDEBUG =
> 
>   COMPILER_WARNINGS_FATAL = false
> 
>   COMPILER_WARNING_LEVEL = 3
> 
>   INCREMENTAL_BUILD = false
> 
>   CC_HIGHEST_OPT =
> 
>   CC_HIGHER_OPT =
> 
>   CC_LOWER_OPT =
> 
>   CXXFLAGS =  -O1 -Zi -nologo -MD /D _STATIC_CPPLIB  
> -Fdc:/Prg/OpenJDK/openjdk/b
> 
> uild/windows-i586/tmp/obj/.pdb 
> -Fmc:/Prg/OpenJDK/openjdk/build/windows-i586/tmp/
> 
> obj/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE
> 
>   CFLAGS =  -O1   -Zi -nologo -MD /D _STATIC_CPPLIB  
> -Fdc:/Prg/OpenJDK/openjdk/b
> 
> uild/windows-i586/tmp/obj/.pdb 
> -Fmc:/Prg/OpenJDK/openjdk/build/windows-i586/tmp/
> 
> obj/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE
> 
>   BOOT_JAVA_CMD = C:/Prg/jdk1.6.0/bin/java  -client -Xmx383m -Xms128m 
> -XX:PermSi
> 
> ze=32m -XX:MaxPermSize=160m
> 
>   BOOT_JAVAC_CMD = C:/Prg/jdk1.6.0/bin/javac  -J-XX:ThreadStackSize=768 
> -J-clien
> 
> t -J-Xmx383m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m 
> -encoding asci
> 
> i -XDignore.symbol.file=true
> 
>   BOOT_JAR_CMD = C:/Prg/jdk1.6.0/bin/jar
> 
>   BOOT_JARSIGNER_CMD = C:/Prg/jdk1.6.0/bin/jarsigner
> 
>  
> 
> Build Platform Settings:
> 
>   USER = Ted
> 
>   PLATFORM = windows
> 
>   ARCH = i586
> 
>   LIBARCH = i386
> 
>   ARCH_FAMILY = i586
> 
>   ARCH_DATA_MODEL = 32
> 
>   ARCHPROP = x86
> 
>   PROCESSOR_ARCHITECTURE = x86
> 
>   PROCESSOR_IDENTIFIER = x86 Family 6 Model 15 Stepping 10, GenuineIntel
> 
>   USING_CYGWIN = true
> 
>   CYGWIN_VER = 5.1 [requires at least 4.0]
> 
>   CYGPATH_CMD = cygpath -a -s -m
> 
>   OS_VERSION = 5.1 [requires at least 5.1]
> 
>   OS_VARIANT_NAME = WindowsXP
> 
>   OS_VARIANT_VERSION = 5.1
> 
>   TEMP_FREE_SPACE = 1827916
> 
>   FREE_SPACE = 1827916
> 
>   MB_OF_MEMORY = 511
> 
>  
> 
> 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-ted_2009_03_27_03_08-b00
> 
>   BUILD_NUMBER = b00
> 
>  
> 
> External File/Binary Locations:
> 
>   USRJDKINSTANCES_PATH = C:/PROGRA~1/Java
> 
>   BUILD_JDK_IMPORT_PATH = J:/re/jdk/1.7.0/promoted/latest/binaries
> 
>     ALT_BUILD_JDK_IMPORT_PATH =
> 
>   JDK_IMPORT_PATH = C:/Prg/JDK16~1.0
> 
>     ALT_JDK_IMPORT_PATH = C:/Prg/jdk1.6.0
> 
>   LANGTOOLS_DIST =
> 
>     ALT_LANGTOOLS_DIST = 
> c:/Prg/OpenJDK/openjdk/build/windows-i586/langtools/dis
> 
> t
> 
>   CORBA_DIST =
> 
>     ALT_CORBA_DIST = c:/Prg/OpenJDK/openjdk/build/windows-i586/corba/dist
> 
>   JAXP_DIST =
> 
>     ALT_JAXP_DIST = c:/Prg/OpenJDK/openjdk/build/windows-i586/jaxp/dist
> 
>   JAXWS_DIST =
> 
>     ALT_JAXWS_DIST = c:/Prg/OpenJDK/openjdk/build/windows-i586/jaxws/dist
> 
>   HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
> 
>     ALT_HOTSPOT_DOCS_IMPORT_PATH =
> 
>   HOTSPOT_IMPORT_PATH = c:/Prg/OpenJDK/openjdk/build/WINDOW~1/hotspot/import
> 
>     ALT_HOTSPOT_IMPORT_PATH = 
> c:/Prg/OpenJDK/openjdk/build/windows-i586/hotspot/
> 
> import
> 
>   HOTSPOT_CLIENT_PATH = 
> c:/Prg/OpenJDK/openjdk/build/WINDOW~1/hotspot/import/jre
> 
> /bin/client
> 
>     ALT_HOTSPOT_CLIENT_PATH =
> 
>   HOTSPOT_SERVER_PATH = 
> c:/Prg/OpenJDK/openjdk/build/WINDOW~1/hotspot/import/jre
> 
> /bin/server
> 
>     ALT_HOTSPOT_SERVER_PATH =
> 
>   HOTSPOT_LIB_PATH = 
> c:/Prg/OpenJDK/openjdk/build/WINDOW~1/hotspot/import/lib
> 
>     ALT_HOTSPOT_LIB_PATH =
> 
>   DXSDK_VER = 0x0900
> 
>   DXSDK_PATH = C:/Prg/MSDIRE~1
> 
>     ALT_DXSDK_PATH = C:/Prg/MSDirectXSDK-03-2008
> 
>   DXSDK_INCLUDE_PATH = C:/Prg/MSDIRE~1/Include
> 
>     ALT_DXSDK_INCLUDE_PATH =
> 
>   DXSDK_LIB_PATH = C:/Prg/MSDIRE~1/Lib
> 
>     ALT_DXSDK_LIB_PATH =
> 
>   CACERTS_FILE = ./../src/share/lib/security/cacerts
> 
>     ALT_CACERTS_FILE =
> 
>  
> 
> OpenJDK-specific settings:
> 
>   FREETYPE_HEADERS_PATH = 
> C:/Prg/OpenJDK/deps/freetype-2.3.9/windows/freetype-i5
> 
> 86/include/freetype2
> 
>     ALT_FREETYPE_HEADERS_PATH = 
> C:/Prg/OpenJDK/deps/freetype-2.3.9/windows/freet
> 
> ype-i586/include/freetype2
> 
>   FREETYPE_LIB_PATH = 
> C:/Prg/OpenJDK/deps/freetype-igor/windows/freetype-i586/li
> 
> b
> 
>     ALT_FREETYPE_LIB_PATH = 
> C:/Prg/OpenJDK/deps/freetype-igor/windows/freetype-i
> 
> 586/lib
> 
>  
> 
> OPENJDK Import Binary Plug Settings:
> 
>   BINARY_PLUGS_JARFILE = 
> /cygdrive/c/Prg/OpenJDK/openjdk-binary-plugs/jre/lib/rt
> 
> -closed.jar
> 
>     ALT_BINARY_PLUGS_JARFILE =
> 
>   BINARY_PLUGS_PATH = /cygdrive/c/Prg/OpenJDK/openjdk-binary-plugs
> 
>     ALT_BINARY_PLUGS_PATH = /cygdrive/c/Prg/OpenJDK/openjdk-binary-plugs
> 
>   BUILD_BINARY_PLUGS_PATH = 
> J:/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 = C:/Prg/jdk1.6.0
> 
>     ALT_PREVIOUS_RELEASE_IMAGE =
> 
>  
> 
>  
> 
> WARNING: This machine appears to only have 511Mb of physical memory,
> 
>          builds on this machine could be slow.
> 
>  
> 
> ERROR: FreeType version  2.3.0  or higher is required.
> 
>  make[2]: Entering directory 
> `/cygdrive/c/Prg/OpenJDK/openjdk/jdk/make/tools/fre
> 
> etypecheck'
> 
> freetypecheck.c
> 
> freetypecheck.c(29) : fatal error C1083: Cannot open include file: 
> 'stdio.h': No
> 
>  such file or directory
> 
> make[2]: Leaving directory 
> `/cygdrive/c/Prg/OpenJDK/openjdk/jdk/make/tools/freet
> 
> ypecheck'
> 
> Failed to build freetypecheck.
> 
>  
> 
> Exiting because of the above error(s).
> 
>  
> 
> make: *** [post-sanity] Error 1
> 
> :/cygdrive/c/Prg/OpenJDK/openjdk
> 
> $
> 
>  
> 
>  
> 
>  
> 
> Ted Neward | Principal Consultant, ThoughtWorks
> 
> Java, .NET, XML Services
> 
> Consulting, Teaching, Speaking, Writing
> 
> http://www.thoughtworks.com <http://www.tedneward.com> | 
> http://www.tedneward.com
> 
>  
> 
>  
> 



More information about the build-dev mailing list