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

Tim Bell Tim.Bell at Sun.COM
Fri Oct 2 18:48:08 UTC 2009


Pete Brunet wrote:
> 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.

sanity will need that .manifest file to run freetype_versioncheck.exe

That was build bugID 6705913 "freetype_versioncheck.exe - Unable To Locate Component"
https://bugs.openjdk.java.net/show_bug.cgi?id=100101

(SNIP!)

>   No need to remake target `c:/OpenJDK/jdk7/build/windows-i586/btbins/freetype_versioncheck.exe'.


What is the output when you run that executable in an MS-DOS CMD window?

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

That is what my build is doing.  $(CL) and $(MT) are both found on PATH, ahead
of the Cygwin bin directories.  But I also set the ALT_ variables in my environment
and build scripts (see below).

$ echo $PATH
/cygdrive/c/JDK16~1.0_0/bin:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/IDE:/cygdriv
e/c/PROGRA~1/MICROS~1.0/VC/BIN:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/Tools:/cy
gdrive/c/PROGRA~1/MICROS~2/Windows/v6.1/bin:/cygdrive/c/WINDOWS/MICROS~1.NET/FRA
MEW~1/V20~1.507:/cygdrive/c/PROGRA~1/MICROS~1.0/VC/VCPACK~1:/usr/local/bin:/usr/
bin:/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdri
ve/c/WINDOWS/System32/Wbem:/cygdrive/c/Mercurial:/cygdrive/g/jtreg/4.0/win32/bin


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

I wish I could say incremental builds worked well in OpenJDK7.  In some
areas of the code it works, but other areas are problematical.

When I want to be sure, I use a 'big hammer' approach to start building
with a clean slate:

  cd <to the top of your forest>
  mkdir lose
  mv build lose
  \rm -rf lose
  . $HOME/openjdk.env.bash
  ../openjdk.build.bash

My OpenJDK build using these scripts has already built as far
as jdk/make/sun/rmi


I put copies of my openjdk.env.bash and openjdk.build.bash files here:

 http://cr.openjdk.java.net/~tbell/OpenJDK-build-scripts/

You will need to modify these to suit the setup on your PC, but they
should serve as a guide.

I hope this helps.

Feel free to contact me off the alias with your full build log
if you need to.  I will take a look at it.

Tim



More information about the build-dev mailing list