Freetype version check failure - copy of DLL failed

Pete Brunet pete at a11ysoft.com
Fri Oct 2 00:21:03 UTC 2009


Tim, I went back to my original fixes (copy dll to lib and change the
make to use freetype6.dll) then did the following:

cd /cygdrive/c/OpenJDK/jdk7/jdk/make/tools/freetypecheck
make clean
make all

and started getting a trace.  I don't know if running from the
freetypecheck directory is a valid thing to do, but when I do that I
noticed that mt.exe is not found.  In this (possibly invalid) invocation
of make, $(MT) resolves to

c:/PROGRA~1/MICROS~1.0/Common7/Tools/../../Vc/Bin/mt aka "C:\Program
Files\Microsoft Visual Studio 9.0\VC\bin\mt"

but on my system mt.exe is at

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe

If I change $(MT) to just mt so it's found via the PATH then the above
build is OK.

However, even with that fix, when I do make sanity the normal way the
exe isn't being built.  And no matter what I try (echo, $(warning ...) I
can't get make to trace when I run make sanity the normal way.

Pete
---
Tim Bell wrote:
> Pete Brunet wrote:
>   
>> Thanks Tim,  It must be something else.  Here are my two environment
>> variables:
>>
>> ALT_FREETYPE_HEADERS_PATH=C:/Progra~1/GnuWin32/include
>> ALT_FREETYPE_LIB_PATH=C:/Progra~1/GnuWin32/lib
>>     
>
> Good - that looks OK.
>
>   
>>>> freetype was installed via the binary installer at
>>>> http://gnuwin32.sourceforge.net/packages/freetype.htm.
>>>>         
>
> After installing bits from there, I needed to copy bin/freetype6.dll
> to lib/freetype6.dll
>
>   
>> At a minimum I have to edit
>> C:\OpenJDK\jdk7\jdk\make\tools\freetypecheck\Makefile as follows:
>> # change freetype.dll to freetype6.dll
>> FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype6.dll
>> because there is no freetype.dll in C:\Program Files\GnuWin32, just
>> freetype6.dll.
>>     
>
> And then edit the makefile to reach for freetype6.dll, as you
> did.  Here are my diffs:
>
> % pwd
> /cygdrive/g/OpenJDK/jdk/make/tools/freetypecheck
>
> $ diff -u  Makefile.00 Makefile
> --- Makefile.00 2009-08-19 18:39:51.531250000 -0700
> +++ Makefile    2009-09-30 13:49:28.794625000 -0700
> @@ -36,7 +36,7 @@
>  # Start with CFLAGS (which gets us the required -xarch setting on solaris)
>  ifeq ($(PLATFORM), windows)
>    FT_OPTIONS  = /nologo $(CC_OBJECT_OUTPUT_FLAG)$(TEMPDIR)
> -  FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype.dll
> +  FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype6.dll
>    FT_LD_OPTIONS  = $(FREETYPE_LIB_PATH)/freetype.lib
>  else
>    FT_OPTIONS  = $(CFLAGS)
>
> Unfortunately, the freetype_versioncheck.exe that is created after
> doing that fails to initialize:
>
> When run in a Cygwin window:
> $ g:/OpenJDK/build/windows-i586/btbins/freetype_versioncheck.exe
> $ echo $?
> 34
>
> When run in a DOS cmd window, I get an "Application Error" pop-up
> that reads "The application failed to initialize properly (0xc0000022).
> Click on OK to terminate the application" [OK]
>
> If I look at freetype_versioncheck.exe using the dependancywalker
> tool [1], it shows an unresolved reference to ZLIB1.DLL
>
>
> When I switch my OpenJDK build environment back to use my existing
> copy of freetype 2.3.4 [2], the versioncheck program builds, works
> OK (no mention of ZLIB1.DLL), and prints:
>
> $ g:/OpenJDK/build/windows-i586/btbins/freetype_versioncheck.exe
> Required version of freetype: 2.3.0
> Detected freetype headers: 2.3.4
> Detected freetype library: 2.3.4
> $ echo $?
> 0
>
>
>   
>> Here is my "make sanity" output:
>>
>> ERROR: FreeType version  2.3.0  or higher is required.
>>  make[2]: Entering directory
>> `/cygdrive/c/OpenJDK/jdk7/jdk/make/tools/freetypecheck'
>> c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe
>> make[2]: Leaving directory
>> `/cygdrive/c/OpenJDK/jdk7/jdk/make/tools/freetypecheck'
>> Failed to build freetypecheck.
>>
>> BTW, How do I put prints in the make file to see the values of the
>> variables?
>>     
>
> You could add "echo" lines to the commands run by a make rule.
> Also, make commands are prefixed with '@' to make them silent.
> Remove the '@' to see more output.
>
> HTH-
>   Tim
>
> [1] http://www.dependencywalker.com/
>
> [2] See step 8:
>     http://blogs.sun.com/TimBell/entry/building_openjdk7_on_32_bit
>
>     The files I modified are available here:
>     http://cr.openjdk.java.net/~tbell/freetype/
>
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/build-dev/attachments/20091001/2b634c3f/attachment.html>


More information about the build-dev mailing list