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