[Fwd: Re: Freetype version check failure - copy of DLL failed]

Pete Brunet pete at a11ysoft.com
Fri Oct 2 15:50:13 UTC 2009


I ran make -d sanity today and see the following.  I don't know why it
doesn't want to build freetype_versioncheck.exe.  It doesn't exist. 

There is however a file named freetype_versioncheck.exe.manifest so to
make sure that isn't a problem I commented out its build from
freetypecheck/makefile and renamed it to
freetype_versioncheck-OLD.exe.manifest in the btbins directory, but the
debug make output looks the same after that test.

Considering target file `all'.
 File `all' does not exist.
  Considering target file
`c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe'.
    Considering target file `freetypecheck.c'.
.....
    No need to remake target `freetypecheck.c'.
   Finished prerequisites of target file
`c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe'.
   Prerequisite `freetypecheck.c' is older than target
`c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe'.
  No need to remake target
`c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe'.
 Finished prerequisites of target file `all'.
Must remake target `all'.
make[2]: Entering directory
`/cygdrive/c/OpenJDK/jdk7/jdk/make/tools/freetypecheck'
c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe
Putting child 0x006de0c0 (all) PID 6916 on the chain.
Live child 0x006de0c0 (all) PID 6916
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x006de0c0 PID 6916
Removing child 0x006de0c0 PID 6916 from chain.
make[2]: Leaving directory
`/cygdrive/c/OpenJDK/jdk7/jdk/make/tools/freetypecheck'
Failed to build freetypecheck. 

Exiting because of the above error(s).


-------- Original Message --------
Subject: 	Re: Freetype version check failure - copy of DLL failed
Date: 	Thu, 01 Oct 2009 19:21:03 -0500
From: 	Pete Brunet <pete at a11ysoft.com>
Reply-To: 	pete at a11ysoft.com
To: 	Tim Bell <Tim.Bell at Sun.COM>
CC: 	build-dev at openjdk.java.net
References: 	<4AC0E0EC.4000103 at a11ysoft.com> <4AC0F368.2010908 at sun.com>
<4AC12270.30504 at a11ysoft.com> <4AC3D2A0.4030708 at sun.com>



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/
>
>
>   

-- 
*Pete Brunet*
                                                                
a11ysoft - Accessibility Architecture and Development
(512) 238-6967 (work), (512) 689-4155 (cell)
Skype: pete.brunet
IM: ptbrunet (AOL, Google), ptbrunet at live.com (MSN)
http://www.a11ysoft.com/about/
Ionosphere: WS4G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/build-dev/attachments/20091002/377b4363/attachment.html>


More information about the build-dev mailing list