When compiling smpeg with gcc-4.1, the build of "audio/MPEGaudio.cpp" fails with "Play_MPEGAudioSDL not in scope". That function is a friend of the MPEGAudio class. I suspect new scoping rules caused this to break, but I'm not sure. I managed to get it working by putting a "using namespace std;" at the top of the file and declaring those functions before they are "befriended". I will attach a patch that worked for me once this bug has been filed. Reproducible: Always Steps to Reproduce: 1. Install GCC-4.1 2. Try to compile smpeg 3. Watch Rome Burn. Actual Results: Compile failed. Expected Results: Compile should succeed. Portage 2.0.53_rc7 (default-linux/x86/2005.0, gcc-4.1.0-beta20051112, glibc-2.3.6-r1, 2.6.13- gentoo-r4 i686) ============================================================ ===== System uname: 2.6.13-gentoo-r4 i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.12.0_pre10 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/grass60/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/ 3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/ mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/ gentoo" MAKEOPTS="" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X Xaw3d aalib acpi ada aim alsa apache apache2 apm arts artswrappersuid audiofile avi bash-completion berkdb bidi bindist bitmap-fonts bonobo browserplugin bzip2 bzlib calendar cdr crypt cscope ctype cups curl curlwrappers dba dedicated dga dio directfb divx4linux doc dvd dvdr eds emboss encode esd ethereal exif expat fam fastcgi ffmpeg fftw firefox flac flash flatfile foomatic foomaticdb fortran freetds ftp gb gcj gd gdbm ggi gif gimpprint glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile iconv icq idn imagemagick imap imlib ipv6 jabber jack java jikes jpeg junit kde kdexdeltas ladcca lcms libg++ libwww lua mad mbox mcal mhash mikmod mime ming mmap mmx mng motif mozcalendar mozilla mp3 mpeg mysql mysqli nas ncurses network nls nocd objc ogg oggvorbis openal opengl oscar oss pam pcntl pcre pda pdflib perl php pie plotutils plugin png posix postgres ppds python qt quicktime quotes readline recode ruby sasl scanner sdl session shared slang sockets softmmu speex spell spl ssl sysvipc szip tcltk tcpd tetex theora tidy tiff truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 videos vorbis win32codecs wmf wxwindows xine xinerama xml xml2 xmms xpm xsl xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Created attachment 73579 [details, diff] Patch that allows smeg to compile with gcc-4
fixed in cvs, thanks
(This patch is now in smpeg's CVS at icculus.org, too.) --ryan.