Making all in common make[2]: Entering directory `/var/tmp/portage/avifile-0.7.38.20030710-r1/work/avifile-0.7-0.7.38/lib/common' /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c Args.cpp /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c avm_output.cpp c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c Args.cpp -fPIC -DPIC -o Args.lo c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c avm_output.cpp -fPIC -DPIC -o avm_output.lo /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c BaseError.cpp /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c BitmapInfo.cpp c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c BaseError.cpp -fPIC -DPIC -o BaseError.lo /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c Config.cpp c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c BitmapInfo.cpp -fPIC -DPIC -o BitmapInfo.lo /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFI LE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c fcc_type.c c++ -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c Config.cpp -fPIC -DPIC -o Config.lo gcc -DHAVE_CONFIG_H -I. -I. -I../../include -Wall -Wno-unused -I../../include -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_ SOURCE -pipe -c fcc_type.c -fPIC -DPIC -o fcc_type.lo In file included from fcc_type.c:1: ../../include/utils.h:41: error: syntax error before '{' token ../../include/utils.h:50: error: syntax error before '{' token ../../include/utils.h:56: error: syntax error before "uint16_t" ../../include/utils.h:61: error: syntax error before '{' token ../../include/utils.h:70: error: syntax error before '{' token ../../include/utils.h:78: error: syntax error before "uint32_t" ../../include/utils.h:83: error: syntax error before '{' token ../../include/utils.h:92: error: syntax error before '{' token ../../include/utils.h:101: error: syntax error before '{' token ../../include/utils.h:103: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:103: error: `v' undeclared here (not in a function) ../../include/utils.h:103: warning: data definition has no type or storage class ../../include/utils.h:104: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:104: error: conflicting types for `b' ../../include/utils.h:103: error: previous declaration of `b' ../../include/utils.h:104: error: `v' undeclared here (not in a function) ../../include/utils.h:104: warning: data definition has no type or storage class ../../include/utils.h:105: error: syntax error before "return" ../../include/utils.h:108: error: syntax error before '{' token ../../include/utils.h:117: error: syntax error before '{' token ../../include/utils.h:119: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:119: error: conflicting types for `b' ../../include/utils.h:104: error: previous declaration of `b' ../../include/utils.h:119: error: `v' undeclared here (not in a function) ../../include/utils.h:119: warning: data definition has no type or storage class ../../include/utils.h:120: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:120: error: conflicting types for `b' ../../include/utils.h:119: error: previous declaration of `b' ../../include/utils.h:120: error: `v' undeclared here (not in a function) ../../include/utils.h:120: warning: data definition has no type or storage class ../../include/utils.h:121: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:121: error: conflicting types for `b' ../../include/utils.h:120: error: previous declaration of `b' ../../include/utils.h:121: error: `v' undeclared here (not in a function) ../../include/utils.h:121: warning: data definition has no type or storage class ../../include/utils.h:122: warning: type defaults to `int' in declaration of `b' ../../include/utils.h:122: error: conflicting types for `b' ../../include/utils.h:121: error: previous declaration of `b' ../../include/utils.h:122: error: `v' undeclared here (not in a function) ../../include/utils.h:122: warning: data definition has no type or storage class ../../include/utils.h:123: error: syntax error before "return" ../../include/utils.h:126: error: syntax error before '{' token ../../include/utils.h:136: error: syntax error before '{' token ../../include/utils.h:140: error: syntax error before '{' token ../../include/utils.h:144: error: syntax error before '{' token fcc_type.c:8: error: syntax error before '{' token fcc_type.c:110: error: syntax error before '{' token make[2]: *** [fcc_type.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/avifile-0.7.38.20030710-r1/work/avifile-0.7-0.7.38/lib/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/avifile-0.7.38.20030710-r1/work/avifile-0.7-0.7.38/lib' make: *** [all-recursive] Error 1 Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51_rc1 (default-amd64-2004.2, gcc-3.3.4, glibc-2.3.4.20040918-r0, 2.6.7-gentoo-r14 x86_64) ================================================================= System uname: 2.6.7-gentoo-r14 x86_64 AMD Athlon(tm) 64 Processor 2800+ Gentoo Base System version 1.5.3 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.7-r4 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /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="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache" GENTOO_MIRRORS="http://mirror.gentoo.no/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.no/gentoo-portage" USE="X Xaw3d aalib acpi alsa amd64 apache2 apm audiofile avi berkdb bitmap-fonts bzlib crypt cups curl db2 dbase dga directfb divx4linux doc dvd encode esd flac flash foomaticdb ftp gdbm gif gnome gphoto2 gpm gps gtk gtk2 imap imlib innodb interbase ipv6 jabber jack java jpeg junit kde kerbos krb64 libg++ libwww mad mikmod mime ming mng motif mozilla mpeg msn mysql mysqli ncurses nls nocd nogcj oci8 oggvorbis opengl oracle7 oss pam pdflib perl php pic png pnp postgres python qt quicktime readline samba sapdb sdl slang sockets socks5 spell spl ssl svg szip tcltk tcpd theora tiff truetype trusted unicode usb videos wmf xine xinerama xml xml2 xmms xosd xpm xprint xv xvid zlib"
same error with gcc 3.4.2 on AthlonXP and avifile 0.7.41 (20041001 snapshot) so, not 64bits related Portage 2.0.51_rc7 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20040916-r0, 2.6.9-rc3 i686) CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" +3dnow +X +alsa +avi -debug +dvd +esd +mmx +oggvorbis -qt +sdl +sse -static +truetype +xv +zlib
Stephane, could you please unpack the avifile (.41) sources, cd into the "include" directory, execute: cpp utils.h | egrep -v "^$" > utils and attach (please not paste) this file? It looks like this has something to do with your system includes (perhaps glibc releated). At least it works fine for me with gcc 3.4.2 on Athlon XP.
Updating summary, re-assigning since this seems to be no amd64 specific problem.
Created attachment 41209 [details] Requested preprocessed utils file I have the same problem, so I've taken the liberty of attaching the requested information.
Looks like only newer glibcs than mine define __THROW. Tried to fix it (don't want to upgrade glibc now), please test as soon as the new version (which applies "throw.patch") is on your mirror.
I think I just unintentionally tested the throw.patch ;-) And this is what I got (gcc-3.4.2-r2, glibc-2.3.4.20040808, the ebuild includes the throw.patch): g++ -DHAVE_CONFIG_H -I. -I. -I../../include -I/usr/include/SDL -D_REENTRANT -I../subtitles -Wall -Wno-unused -I../../include -march=pentium3 -pipe -O2 -fomit-frame-pointer -ftracer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c AudioQueue.cpp -fPIC-DPIC -o .libs/AudioQueue.o In file included from AudioQueue.cpp:24: ../../include/avm_cpuinfo.h:50: error: expected unqualified-id before "throw" ../../include/avm_cpuinfo.h:50: error: expected `,' or `;' before "throw" ../../include/avm_cpuinfo.h:69: error: expected unqualified-id before "throw" ../../include/avm_cpuinfo.h:69: error: expected `,' or `;' before "throw" In file included from AudioQueue.cpp:25: ../../include/utils.h:41: error: expected unqualified-id before "throw" ../../include/utils.h:41: error: expected `,' or `;' before "throw" ../../include/utils.h:50: error: expected unqualified-id before "throw" ../../include/utils.h:50: error: expected `,' or `;' before "throw" ../../include/utils.h:61: error: expected unqualified-id before "throw" ../../include/utils.h:61: error: expected `,' or `;' before "throw" ../../include/utils.h:70: error: expected unqualified-id before "throw" ../../include/utils.h:70: error: expected `,' or `;' before "throw" ../../include/utils.h:83: error: expected unqualified-id before "throw" ../../include/utils.h:83: error: expected `,' or `;' before "throw" ../../include/utils.h:92: error: expected unqualified-id before "throw" ../../include/utils.h:92: error: expected `,' or `;' before "throw" ../../include/utils.h:101: error: expected unqualified-id before "throw" ../../include/utils.h:101: error: expected `,' or `;' before "throw" ../../include/utils.h:108: error: expected unqualified-id before "throw" ../../include/utils.h:108: error: expected `,' or `;' before "throw" ../../include/utils.h:117: error: expected unqualified-id before "throw" ../../include/utils.h:117: error: expected `,' or `;' before "throw" ../../include/utils.h:126: error: expected unqualified-id before "throw" ../../include/utils.h:126: error: expected `,' or `;' before "throw" ../../include/utils.h:135: error: expected unqualified-id before "throw" ../../include/utils.h:135: error: expected `,' or `;' before "throw" ../../include/utils.h:139: error: expected unqualified-id before "throw" ../../include/utils.h:139: error: expected `,' or `;' before "throw" ../../include/utils.h:143: error: expected unqualified-id before "throw" ../../include/utils.h:143: error: expected `,' or `;' before "throw" make[2]: *** [AudioQueue.lo] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/avifile-0.7.41.20041001/work/avifile-0.7-0.7.41/lib/aviplay' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/avifile-0.7.41.20041001/work/avifile-0.7-0.7.41/lib' make: *** [all-recursive] Fehler 1
Same here: Portage 2.0.51_rc7 (gcc34-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20041002-r0, 2.6.7-gentoo-r14 i686) ================================================================= System uname: 2.6.7-gentoo-r14 i686 Pentium III (Coppermine) Gentoo Base System version 1.5.3 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -fforce-addr -fforce-mem-ffast-math-mpush-args -w" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -fforce-addr -fforce-mem-ffast-math -mpush-args -w" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.easynet.nl/mirror/gentoo/ http://mirror.switch.ch/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acpi alsa apm arts avi berkdb bitmap-fonts cddb cdparanoia cdr chroot crypt cups curl divx4linux dvd dvdr encode faac flac foomaticdb foreign-package ftp gdbm gif gmp gpm gtk imap imlib jpeg kde libg++ libwww lirc lzo lzw-tiff mad mbox mhash mikmod mmx mng mozilla mpeg mpeg4 mplayer mysql ncurses nlsnptl nptlonly oggvorbis ooo-kde opengl oss pam pcre pdflib perl png python qt quicktime readline rtc samba sdl slang spell sse ssl svga tcltk tcpd tiff transcode truetype usb v4l v4l2 x86 xine xml2 xmms xprint xv xvid zlib linguas_de"
Ouch. Working on it...
Wonderful... it does the right thing for C, but the wrong thing for C++, and I only tried to get my test files through the C compiler. Will have to get a new glibc to find out where the new __THROW definition breaks stuff. Removing __THROW in these cases for now.
Even glibc-2.3.4.20040808 isn't new enough to reproduce the problem of comment #4 - will have to check later. Please note that newer versions are marked as "-*"
had : kernel 2.6.9-rc3, gcc-3.4.2-r2, glibc-2.3.4-20040916 (once not masked) have : kernel 2.6.9-rc3, gcc-3.4.2-r2, glibc-2.3.4-20040808 (latest ~x86 avail.) was not working now works summary: bad boys should not used masked glibc. i was such a bad boy
Looks like the fatal change was introduced in September... Would be nice if some toolchain folks could comment on this. Is this a known problem? Will the change be reverted or do we have to keep this workaround?
Ok, I finally got the masked glibc and think I have the right solution. Just testing it, stay tuned. No need for toolchain help any more, sorry for bothering you.
Ok, latest version in CVS should work even for "bad boys" (read: tested with glibc from october). Please re-open if you still have problems.
It works now for me (glibc 2.3.4-20041001). Thanks!
Works here, too (gcc-3.4.2-r2, glibc-2.3.4.20040808 aka "bad boy" ;-). Thanks.