I am upgrading my system from 1.2 to a "stable" 1.4. "avifile" does not build. This seems to be the norm - I have never had any build involving avifile work without hacking. I am at a bit of a loss as to what to do this time, because I am half way through a a 500 package recompile, and dont want to lose my emerge state information for an "emerge --resume". Here is the error: /bin/sh ../../libtool --mode=link i686-pc-linux-gnu-g++ -g -O2 -mcpu=i686 -march=i686 -ffast-math -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -pipe -o avicat avicat.o ../../lib/libaviplay.la -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lXft -lfreetype -lz -L/usr/X11R6/lib -lXrender -L/usr/X11R6/lib -lSM -lICE -lXinerama -lXv -lXxf86vm -lXxf86dga -lXi -lXext -lX11 -lnsl -ldl /usr/lib/libXft.so: undefined reference to `FcPatternAddInteger' /usr/lib/libXft.so: undefined reference to `FcPatternAddBool' /usr/lib/libXft.so: undefined reference to `FcPatternGetBool' /usr/lib/libXft.so: undefined reference to `FcFreeTypeCharSet' /usr/lib/libXft.so: undefined reference to `FcNameUnparse' /usr/lib/libXft.so: undefined reference to `FcNameConstant' /usr/lib/libXft.so: undefined reference to `FcObjectSetDestroy' /usr/lib/libXft.so: undefined reference to `FcPatternDuplicate' /usr/lib/libXft.so: undefined reference to `FcCharSetHasChar' /usr/lib/libXft.so: undefined reference to `FcFontList' /usr/lib/libXft.so: undefined reference to `FcUtf16ToUcs4' /usr/lib/libXft.so: undefined reference to `FcUtf8ToUcs4' /usr/lib/libXft.so: undefined reference to `FcPatternVaBuild' /usr/lib/libXft.so: undefined reference to `FcPatternGetDouble' /usr/lib/libXft.so: undefined reference to `FcPatternGetString' /usr/lib/libXft.so: undefined reference to `FcInit' /usr/lib/libXft.so: undefined reference to `FcPatternGetInteger' /usr/lib/libXft.so: undefined reference to `FcPatternGetCharSet' /usr/lib/libXft.so: undefined reference to `FcPatternCreate' /usr/lib/libXft.so: undefined reference to `FcPatternAddString' /usr/lib/libXft.so: undefined reference to `FcPatternGet' /usr/lib/libXft.so: undefined reference to `FcPatternAddDouble' /usr/lib/libXft.so: undefined reference to `FcConfigSubstitute' /usr/lib/libXft.so: undefined reference to `FcObjectSetCreate' /usr/lib/libXft.so: undefined reference to `FcPatternDestroy' /usr/lib/libXft.so: undefined reference to `FcCharSetCount' /usr/lib/libXft.so: undefined reference to `FcNameRegisterObjectTypes' /usr/lib/libXft.so: undefined reference to `FcObjectSetAdd' /usr/lib/libXft.so: undefined reference to `FcPatternAdd' /usr/lib/libXft.so: undefined reference to `FcStrCmpIgnoreCase' /usr/lib/libXft.so: undefined reference to `FcConfigGetBlanks' /usr/lib/libXft.so: undefined reference to `FcFreeTypeCharIndex' /usr/lib/libXft.so: undefined reference to `FcNameParse' /usr/lib/libXft.so: undefined reference to `FcPatternGetFTFace' /usr/lib/libXft.so: undefined reference to `FcPatternGetMatrix' /usr/lib/libXft.so: undefined reference to `FcPatternPrint' /usr/lib/libXft.so: undefined reference to `FcFontMatch' /usr/lib/libXft.so: undefined reference to `FcDefaultSubstitute' collect2: ld returned 1 exit status make[2]: *** [avibench] Error 1 make[2]: *** Waiting for unfinished jobs.... i686-pc-linux-gnu-g++ -g -O2 -mcpu=i686 -march=i686 -ffast-math -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -pipe -o .libs/avicat avicat.o -Wl,-rpath -Wl,/usr/lib ../../lib/.libs/libaviplay.so -L/usr/lib -L/usr/kde/3.1/lib -L/usr/X11R6/lib /usr/kde/3.1/lib/libartsc.so -lslang /usr/lib/libSDL.so -lartsc /usr/lib/libesd.so /usr/lib/libaudiofile.so -lm /usr/lib/libasound.so -laudio -lXt -lggi /usr/lib/libgii.so /usr/lib/libgg.so -lvga /usr/lib/libaa.so -lpthread -lXft /usr/lib/libfreetype.so -lz -lXrender -lSM -lICE -lXinerama -lXv -lXxf86vm -lXxf86dga -lXi -lXext -lX11 -lnsl -ldl -Wl,--rpath -Wl,/usr/kde/3.1/lib /usr/lib/libXft.so: undefined reference to `FcPatternAddInteger' /usr/lib/libXft.so: undefined reference to `FcPatternAddBool' /usr/lib/libXft.so: undefined reference to `FcPatternGetBool' /usr/lib/libXft.so: undefined reference to `FcFreeTypeCharSet' /usr/lib/libXft.so: undefined reference to `FcNameUnparse' /usr/lib/libXft.so: undefined reference to `FcNameConstant' /usr/lib/libXft.so: undefined reference to `FcObjectSetDestroy' /usr/lib/libXft.so: undefined reference to `FcPatternDuplicate' /usr/lib/libXft.so: undefined reference to `FcCharSetHasChar' /usr/lib/libXft.so: undefined reference to `FcFontList' /usr/lib/libXft.so: undefined reference to `FcUtf16ToUcs4' /usr/lib/libXft.so: undefined reference to `FcUtf8ToUcs4' /usr/lib/libXft.so: undefined reference to `FcPatternVaBuild' /usr/lib/libXft.so: undefined reference to `FcPatternGetDouble' /usr/lib/libXft.so: undefined reference to `FcPatternGetString' /usr/lib/libXft.so: undefined reference to `FcInit' /usr/lib/libXft.so: undefined reference to `FcPatternGetInteger' /usr/lib/libXft.so: undefined reference to `FcPatternGetCharSet' /usr/lib/libXft.so: undefined reference to `FcPatternCreate' /usr/lib/libXft.so: undefined reference to `FcPatternAddString' /usr/lib/libXft.so: undefined reference to `FcPatternGet' /usr/lib/libXft.so: undefined reference to `FcPatternAddDouble' /usr/lib/libXft.so: undefined reference to `FcConfigSubstitute' /usr/lib/libXft.so: undefined reference to `FcObjectSetCreate' /usr/lib/libXft.so: undefined reference to `FcPatternDestroy' /usr/lib/libXft.so: undefined reference to `FcCharSetCount' /usr/lib/libXft.so: undefined reference to `FcNameRegisterObjectTypes' /usr/lib/libXft.so: undefined reference to `FcObjectSetAdd' /usr/lib/libXft.so: undefined reference to `FcPatternAdd' /usr/lib/libXft.so: undefined reference to `FcStrCmpIgnoreCase' /usr/lib/libXft.so: undefined reference to `FcConfigGetBlanks' /usr/lib/libXft.so: undefined reference to `FcFreeTypeCharIndex' /usr/lib/libXft.so: undefined reference to `FcNameParse' /usr/lib/libXft.so: undefined reference to `FcPatternGetFTFace' /usr/lib/libXft.so: undefined reference to `FcPatternGetMatrix' /usr/lib/libXft.so: undefined reference to `FcPatternPrint' /usr/lib/libXft.so: undefined reference to `FcFontMatch' /usr/lib/libXft.so: undefined reference to `FcDefaultSubstitute' collect2: ld returned 1 exit status make[2]: *** [avicat] Error 1 make[2]: Leaving directory `/var/tmp/portage/avifile-0.7.32.20030219/work/avifile0.7-0.7.32/samples/misc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/avifile-0.7.32.20030219/work/avifile0.7-0.7.32/samples' make: *** [all-recursive] Error 1 !!! ERROR: media-video/avifile-0.7.32.20030219 failed. !!! Function src_compile, Line 138, Exitcode 2 !!! (no error message) Here is the output of "emerge info": Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.2.5-r4,2.3.1-r4) ================================================================= System uname: 2.4.20-gentoo-r2 i686 AMD Athlon(tm) Processor GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://mirror.iawnet.sandia.gov/pub/gentoo/" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml gdbm berkdb slang readline tetex svga tcltk java guile X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl -arts aalib acpi alsa bonobo canna cdr cjk dga directfb dvd fbcon freewnn ggi gphoto2 imap jack ladcca lcms ldap maildir mozilla nas pda sasl sse usb" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=i686 -O3 -pipe" CXXFLAGS="-O2 -mcpu=i686 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache" Reproducible: Always Steps to Reproduce: 1. emerge -e world 2. 3. Actual Results: Build fails on avifile. Expected Results: Worked. I have NOT set "~x86". See above for "emerge info" info.
reemerge x11-libs/xft then go on
Thanks for the suggestion. This is what happens. --- maze portage # emerge xft Calculating dependencies ...done! !!! Error: the >=x11-base/xfree-4.3.0-r2 package conflicts with this package and both can't be installed on the same system together. --- Huh? I can't have XFT installed when I use X? Will I be able to "emerge --resume" my rebuild after emerging stuff manually?
please check your xfree version later xfree provides xft since it got incorporated in the xfree tree and developed/improved there please emerge fontconfig too.
Thanks for the suggestion. Re-emerging fontconfig made the difference. I had xfree 4.3.0-r2, and fontconfig 2.2.0-r2 installed. Re-emerging fontconfig 2.2.0-r2 made avifile build successfully. I didnt touch xfree. I really have no idea why. Perhaps fontconfig was still GCC2-compiled code? Perhaps portage tried to compile avifile before it got around to compiling fontconfig.
I think that fontconfig got pruned during the xft changes. closing the bug.
I emerged the SAME version of fontconfig. No emerge sync, no update. The only thing changed was that it MIGHT have been previously compiled with GCC2 rather than GCC3. I don't know how the portage stuff works, so I'll leave the conclusions up to you. :-) Thanks for the help.
Just an additional note about this.. I ran across this same issue and tried re-emerging fontconfig without any luck. As it turns out, I had xft-2.0.1-r2 emerged with xfree-4.3.0-r2 (xft showed a block but xfree didnt). Probably a leftover from running xfree-4.2.99. Solution was to `emerge unmerge xft` then `emerge xfree fontconfig avifile`. Perhaps xft should be masked now that the stable xfree installs it? The block was obvious when trying to `emerge xft` but xfree would emerge with xft without a complaint.
you are on to something here. The xfree ebuild mistakenly blocks virtual/xft, while this doesn't work at this time (should it ever?). I've changed the block to x11-libs/xft now, which should properly block out the xft ebuild. xfree team members please take a mental note of this. thanks for your comment on this lanalyst.
it works with the virtual/mta ebuilds it was a portage issue -- the new -r7 release of portage should recognise blocks again.
Well, -r5 and -r6 don't and i think most people are running that. Did it work before those versions ? Cause it had been virtual/xft for quite some time. Anyway, if the current setup works with all portage versions i think its better this way for now (practical, not esthetical), since there are only 2 xft providers.