media-libs/imlib2-1.1.0.20030906 doesn't compile (see output below) as it finds the freetype2 headers (/usr/include/freetype2/freetype) instead of freetype1 (/usr/include/freetype). This appears to be because it uses freetype-config to determine the location of the headers, which returns: palmer / # freetype-config --cflags -I/usr/include/freetype2 Here is the output when I try to emerge media-libs/imlib2-1.1.0.20030906: /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../src -I../loaders -I../libltdl -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/include -I/usr/includ e -I/usr/include/freetype2 -mcpu=i686 -O3 -pipe -c -o api.lo `test -f api.c || echo './'`api.c rm -f .libs/api.lo gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../src -I../loaders -I../libltdl -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/include -I/usr/include -I/usr/include/freetype2 -mcpu=i 686 -O3 -pipe -c api.c -Wp,-MD,.deps/api.TPlo -fPIC -DPIC -o .libs/api.lo In file included from font.h:4, from api.c:37: /usr/include/freetype2/freetype/ftglyph.h:104: parse error before `FT_Library' /usr/include/freetype2/freetype/ftglyph.h:104: warning: no semicolon at end of struct or union /usr/include/freetype2/freetype/ftglyph.h:106: parse error before `format' /usr/include/freetype2/freetype/ftglyph.h:106: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:107: parse error before `advance' /usr/include/freetype2/freetype/ftglyph.h:107: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:109: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:156: parse error before `FT_GlyphRec' /usr/include/freetype2/freetype/ftglyph.h:156: warning: no semicolon at end of struct or union /usr/include/freetype2/freetype/ftglyph.h:157: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:158: parse error before `top' /usr/include/freetype2/freetype/ftglyph.h:158: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:159: parse error before `bitmap' /usr/include/freetype2/freetype/ftglyph.h:159: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:161: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:204: parse error before `FT_GlyphRec' /usr/include/freetype2/freetype/ftglyph.h:204: warning: no semicolon at end of struct or union /usr/include/freetype2/freetype/ftglyph.h:205: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:207: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:228: parse error before `FT_Get_Glyph' /usr/include/freetype2/freetype/ftglyph.h:228: parse error before `slot' /usr/include/freetype2/freetype/ftglyph.h:229: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:251: parse error before `FT_Glyph_Copy' /usr/include/freetype2/freetype/ftglyph.h:252: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:281: parse error before `FT_Glyph_Transform' /usr/include/freetype2/freetype/ftglyph.h:282: parse error before `FT_Matrix' /usr/include/freetype2/freetype/ftglyph.h:283: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:360: parse error before `FT_Glyph_Get_CBox' /usr/include/freetype2/freetype/ftglyph.h:361: parse error before `FT_UInt' /usr/include/freetype2/freetype/ftglyph.h:362: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:437: parse error before `FT_Glyph_To_Bitmap' /usr/include/freetype2/freetype/ftglyph.h:438: parse error before `FT_Render_Mode' /usr/include/freetype2/freetype/ftglyph.h:440: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:455: parse error before `FT_Done_Glyph' /usr/include/freetype2/freetype/ftglyph.h:455: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:486: parse error before `FT_Matrix_Multiply' /usr/include/freetype2/freetype/ftglyph.h:486: parse error before `*' /usr/include/freetype2/freetype/ftglyph.h:487: warning: data definition has no type or storage class /usr/include/freetype2/freetype/ftglyph.h:506: parse error before `FT_Matrix_Invert' /usr/include/freetype2/freetype/ftglyph.h:506: parse error before `*' /usr/include/freetype2/freetype/ftglyph.h:506: warning: data definition has no type or storage class In file included from api.c:37: font.h:43: parse error before `FT_Face' font.h:43: warning: no semicolon at end of struct or union font.h:43: warning: no semicolon at end of struct or union font.h:45: warning: data definition has no type or storage class font.h:53: parse error before `}' font.h:105: parse error before `FT_UInt' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../src -I../loaders -I../libltdl -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/include -I/usr/include -I/usr/include/freetype2 -mcpu=i 686 -O3 -pipe -c rgbadraw.c -Wp,-MD,.deps/rgbadraw.TPlo -o rgbadraw.o >/dev/null 2>&1 make[2]: *** [api.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f .libs/rgbadraw.lo rgbadraw.lo make[2]: Leaving directory `/var/tmp/portage/imlib2-1.1.0.20030906/work/imlib2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/imlib2-1.1.0.20030906/work/imlib2' make: *** [all] Error 2 !!! ERROR: media-libs/imlib2-1.1.0.20030906 failed. !!! Function src_compile, Line 46, Exitcode 2 !!! could not make Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/imlib2-1.1.0.20030906 to / >>> md5 src_uri ;-) imlib2-1.1.0.20030906.tar.bz2 Reproducible: Always Steps to Reproduce: 1. 2. 3. palmer / # etcat -v media-libs/freetype [ Results for search key : media-libs/freetype ] [ Applications found : 1 ] * media-libs/freetype : [ I] media-libs/freetype-1.3.1-r3 (1) [ ] media-libs/freetype-2.1.3-r2 (2) [ ] media-libs/freetype-2.1.4 (2) [ ~I] media-libs/freetype-2.1.4-r1 (2) palmer / # emerge info Portage 2.0.49-r3 (default-1.0, gcc-2.95.3, glibc-2.2.5-r8, 2.4.22) ============================================================== === System uname: 2.4.22 i686 Transmeta(tm) Crusoe(tm) Processor TM5800 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=i686 -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=i686 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache autoaddcvs digest sandbox strict" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio. org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 apm avi crypt cups encode libg++ mmx mpeg ncurses pdflib quicktime spell truetype xml2 xmms xv aalib berkdb esd gdbm gif gnome-libs gpm gtk imlib java libwww motif oggvorbis pam python readline sdl snmp ssl svga tcpd -3dnow alsa apache2 -arts bonobo cdr curses dga dvd emacs ethereal evo fbcon gnome gtk2 gtkhtml guile jpeg -kde lcms -lirc -mikmod -moznoxft mysql nas -nls odbc -opengl oss pcmcia pda perl pic plotutils png pnp -qt -qtmt samba skey -slang smooth tcltk tetex tiff trusted usb vim-with-x xml X X509 zlib"
Same here, also with gcc-2.95.3. It seems to be a freetype-1.3 vs. freetype-2 issue: because of -I/usr/include before -I/usr/include/freetype2, and because freetype-1.3 headers are in /usr/include/freetype, they mess with those from /usr/include/freetype2/freetype I'm sure I've already seen a similar bug a few month ago on another package, but I can't remember which one it was... Anyway, here is a quick fix to reorganise the "-I..." in src/Makefile.am: src_unpack() { unpack ${A} mv ${S}/src/Makefile.am ${S}/src/Makefile.am.orig sed -e 's:-I$(prefix)/include:$(freetype_cflags):' \ -e 's:$(freetype_cflags)$:-I$(prefix)/include:' \ < ${S}/src/Makefile.am.orig > ${S}/src/Makefile.am } Worked for me, but I have no idea if it would with gcc-3 (I don't see why it wouldn't though).
seems to happen with gcc-2.x ... works fine on the 3.x boxes ... i'll probe it some more
ok, talked to raster man and he fixed the include order and then released 1.1.0 :) so emerge 1.1.0 and everything should be all set