Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 28126 - media-libs/imlib2-1.1.0.20030906 doesn't compile - can't find freetype1 headers
Summary: media-libs/imlib2-1.1.0.20030906 doesn't compile - can't find freetype1 headers
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-07 12:59 UTC by Tristan Henderson
Modified: 2003-09-07 20:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tristan Henderson 2003-09-07 12:59:37 UTC
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"
Comment 1 TGL 2003-09-07 16:59:38 UTC
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).
Comment 2 SpanKY gentoo-dev 2003-09-07 17:05:35 UTC
seems to happen with gcc-2.x ... works fine on the 3.x boxes ...
i'll probe it some more
Comment 3 SpanKY gentoo-dev 2003-09-07 20:35:50 UTC
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