Lots of unresolved symbols. Remedies by adding -fno-unit-at-a-time to CFLAGS. Reproducible: Always Steps to Reproduce: 1. emerge =sys-devel/gcc-3.4.0 2. emerge transcode Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.4.0, glibc-2.3.3_pre20040420-r0, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) Gentoo Base System version 1.4.10 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe -maccumulate-outgoing-args -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe -maccumulate-outgoing-args -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://linux.ntcu.net/dists/gentoo/ http://gentoo.seren.com/gentoo http://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://192.168.0.238/gentoo-portage" USE="3dnow X aalib alsa apm avi berkdb cdr crypt cups curl dedicated dv dvd encode esd faad foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 imlib jpeg lcms libg++ libwww mad mbox mikmod mmx motif mozilla mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl png ppds python qt quicktime readline samba sdl slang spell sse ssl tcpd tiff truetype usb videos wmf x86 xml xml2 xmms xv zlib"
I was having the same problem with gcc 3.3.3, but changing the CLFAGS to something more conservative ( default ) works ok.
Thanks. Adding the -fno-unit-at-a-time to CFLAGS worked for me too.
I think transcode needs the same fix as avifile does.
Created attachment 31802 [details, diff] transcode-0.6.12-gcc-3.4.patch This should do it. It uses __attribute__((used)) for variables, which will not work with <gcc-3.4, so it should be applied conditionally.
Created attachment 32756 [details, diff] applies 3.4 patch conditionally also adds -fno-unit-at-a-time conditionally summarizes all discussed fixes and makes them conditional to gcc 3.4
Created attachment 32759 [details, diff] patch 32756 was incorrect this fixes it accidentally included unpack ${A} and cd ${S} in conditional block tested now with 3.3.3 and 3.4.0 sorry for any inconvenience
Created attachment 32761 [details, diff] sad but true cd${S} should have been cd ${S} , fixed ok, when moving cd ${S} out of condtional i mistyped it this merged with gcc 3.3 and 3.4 *sigh* sorry
using the ebuild patch and adding this patch: transcode-0.6.12-gcc-3.4.patch that is attached to this bug makes it compile fine and doesnt need the -fno-unit-at-a-time and i do think it would be best to not use that cause according to the gcc info pages not using it could slow down the code that is generated and im sure everyone wants transcode to be as fast as it can
if there is any confusion which there prob is conserning me i do mean not using unit-at-a-time could produce slower code
Created attachment 32763 [details, diff] uses transcode-0-6-12-gcc-3.4.patch and transcode-gcc34.patch both gcc3.4 patches conditional on gcc 3.4 thanks for pointing out the slowdown Bret
this ebuild patch and the other patch for transcode to allow it to compile with gcc 3.4 works fine for me on x86
All fixes applied conditionally for gcc-3.4.0 now, allow time for fixes to propagate to mirrers, then sync and compile transcode-0.6.12-r1