On 2014-02-03, at 9:59 AM, Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com> 
wrote:

> You seem to have gotten a mismatch due to several versions of freetype 
> installed.

At first I agreed with you, but after looking a little more I think I have been 
using the same one all along,
and it just changed.  Perhaps this is just an early warning. Or perhaps my X11 
is old and stale.

> The output from the build is:
> 
>> In file included from 
>> /Users/dr2chase/work/jdk9/jdk/src/share/native/sun/font/freetypeScaler.c:34:
>> /usr/X11/include/ft2build.h:56:38: warning: freetype/config/ftheader.h: No 
>> such file or directory
> which indicates that you are using freetype from /usr/X11/include. This is 
> likely what configure will autodetect. If you check the configure output, 
> what does it say about freetype?

configure:44157: checking for FREETYPE
configure:44164: $PKG_CONFIG --exists --print-errors "freetype2"
configure:44167: $? = 0
configure:44180: $PKG_CONFIG --exists --print-errors "freetype2"
configure:44183: $? = 0
configure:44218: result: yes
configure:44235: checking for freetype
configure:44237: result: yes (using pkg-config)
configure:46621: checking if we can compile and link with freetype
configure:46646:  /usr/bin/g++ -o conftest  -I/opt/local/include/freetype2    
conftest.cpp  -L/opt/local/lib -lfreetype >&5
configure:46646: $? = 0
configure:46648: result: yes
configure:46707: checking if we should bundle freetype
configure:46712: result: no

and grepping for freetype yields (among others):

config.log:configure:44164: $PKG_CONFIG --exists --print-errors "freetype2"
config.log:configure:44180: $PKG_CONFIG --exists --print-errors "freetype2"
config.log:configure:44235: checking for freetype
config.log:configure:46621: checking if we can compile and link with freetype
config.log:configure:46646:  /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp  -L/opt/local/lib -lfreetype >&5
config.log:configure:46707: checking if we should bundle freetype
config.log:configure:47075: /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp -ljpeg   >&5
config.log:configure:47233: /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp -lz   >&5
config.log:configure:47317: /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp  >&5
config.log:configure:47360: /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp -lm   >&5
config.log:configure:47419: /usr/bin/g++ -o conftest  
-I/opt/local/include/freetype2    conftest.cpp -ldl   >&5
config.log:pkg_cv_FREETYPE_CFLAGS='-I/opt/local/include/freetype2 '
config.log:pkg_cv_FREETYPE_LIBS='-L/opt/local/lib -lfreetype '
config.log:CXXFLAGS=' -I/opt/local/include/freetype2 '
config.log:FREETYPE_CFLAGS='-I/opt/local/include/freetype2 '
config.log:FREETYPE_LIBS='-L/opt/local/lib -lfreetype'

config.status:S["FREETYPE_LIBS"]="-L/opt/local/lib -lfreetype"
config.status:S["FREETYPE_CFLAGS"]="-I/opt/local/include/freetype2 "
config.status:S["CXXFLAGS"]=" -I/opt/local/include/freetype2 "

spec.gmk:FREETYPE_LIBS:=-L/opt/local/lib -lfreetype
spec.gmk:FREETYPE_CFLAGS:=-I/opt/local/include/freetype2 
spec.gmk:#CXXFLAGS:= -I/opt/local/include/freetype2 

>> Apparently configure picked up the MacPorts freetype2, but that changed in a 
>> recent update.
> 
> That seems unlikely that it should have picked that up by itself. Did you set 
> --with-freetype at any point? Do you have any configure logs from the old 
> build?

I don't know what your basis for "it seems unlikely" is.
I did not set --with-freetype, so to me it appears not only likely, but 
certain, that it picked that up by itself.
(I think I would have mentioned this....)

I looked at the logs from the old build, and they appear to be identical to the 
logs with the symbolic link
added, since I did not touch the flags.  It's "unlikely" (that word again) that 
adding the link would change
things, since it made the mistake without the link and the added link merely 
causes the build to succeed.

>> Another option might have been to try setting
>> 
>> --with-freetype-include specify directory for the freetype include files
> 
> Using the --with-freetype option is the preferred mode, instead of modifying 
> system files.

I thought the preferred mode was for configure to work properly without human 
intervention :-).

> Nevertheless, I'm curious if configure really did pick up freetype 
> automatically in the /opt/local system before, but not now. It might be due 
> to pkg-config.
> 
> Can you try running "pkg-config --cflags freetype2" and post the output? If 
> you have access to a machine without this change in packaging, can you try 
> the same command there?

dr2chase:~ dr2chase$ pkg-config --cflags freetype2
-I/opt/local/include/freetype2 

dr2chase:~ dr2chase$ ls -l /opt/local/include/freetype2/freetype
lrwxr-xr-x  1 root  admin  12 Jan 31 15:35 
/opt/local/include/freetype2/freetype -> ../freetype2

dr2chase:~ dr2chase$ sudo rm /opt/local/include/freetype2/freetype
Password:

dr2chase:~ dr2chase$ pkg-config --cflags freetype2
-I/opt/local/include/freetype2 

dr2chase:~ dr2chase$ 

But....

dr2chase:~ dr2chase$ which pkg-config
/opt/local/bin/pkg-config

That looks like a likely cause, but that appears to be the only pkg-config on 
the box.
(Checked /bin, /usr/bin, /usr/local/bin, /etc, /usr/etc, /usr/sbin, /sbin )

Was my mistake installing freetype?  Lots of stuff depends on it:

dr2chase:macosx-x86_64-normal-server-fastdebug dr2chase$ port dependents 
freetype
R depends on freetype
Xft2 depends on freetype
cairo depends on freetype
dvipng depends on freetype
fontconfig depends on freetype
gd2 depends on freetype
ghostscript depends on freetype
graphviz depends on freetype
harfbuzz depends on freetype
librsvg depends on freetype
libsdl_ttf depends on freetype
libwmf depends on freetype
poppler depends on freetype
texlive-bin depends on freetype


Reply via email to