[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: <https://mail.openjdk.org/pipermail/build-dev/attachments/20091002/377b4363/attachment.htm>
More information about the build-dev
mailing list