if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mpegsound -I/usr/include/ncurses -I../nmixer -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DMP3BLASTER_DOCDIR=\"/usr/share/mp3blaster\" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -MT winitem.o -MD -MP -MF ".deps/winitem.Tpo" \ -c -o winitem.o `test -f 'winitem.cc' || echo './'`winitem.cc; \ then mv -f ".deps/winitem.Tpo" ".deps/winitem.Po"; \ else rm -f ".deps/winitem.Tpo"; exit 1; \ fi if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mpegsound -I/usr/include/ncurses -I../nmixer -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DMP3BLASTER_DOCDIR=\"/usr/share/mp3blaster\" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -MT mp3win.o -MD -MP -MF ".deps/mp3win.Tpo" \ -c -o mp3win.o `test -f 'mp3win.cc' || echo './'`mp3win.cc; \ then mv -f ".deps/mp3win.Tpo" ".deps/mp3win.Po"; \ else rm -f ".deps/mp3win.Tpo"; exit 1; \ fi if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mpegsound -I/usr/include/ncurses -I../nmixer -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DMP3BLASTER_DOCDIR=\"/usr/share/mp3blaster\" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -MT mp3item.o -MD -MP -MF ".deps/mp3item.Tpo" \ -c -o mp3item.o `test -f 'mp3item.cc' || echo './'`mp3item.cc; \ then mv -f ".deps/mp3item.Tpo" ".deps/mp3item.Po"; \ else rm -f ".deps/mp3item.Tpo"; exit 1; \ fi if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mpegsound -I/usr/include/ncurses -I../nmixer -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DMP3BLASTER_DOCDIR=\"/usr/share/mp3blaster\" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -march=i686 -mtune=athlon-xp -msse -mmmx -pipe -ggdb3 -MT history.o -MD -MP -MF ".deps/history.Tpo" \ -c -o history.o `test -f 'history.cc' || echo './'`history.cc; \ then mv -f ".deps/history.Tpo" ".deps/history.Po"; \ else rm -f ".deps/history.Tpo"; exit 1; \ fi history.cc: In destructor ‘History::~History()’: history.cc:18: error: ‘free’ was not declared in this scope make[2]: *** [history.o] Error 1 make[2]: *** Waiting for unfinished jobs.... main.cc: In function ‘const char* tag_keyword_value(ptag_t, const char*)’: main.cc:1283: warning: address of local variable ‘tag’ returned main.cc: In function ‘void cw_draw_play_mode(short int)’: main.cc:1751: warning: deprecated conversion from string constant to ‘char*’ main.cc:1751: warning: deprecated conversion from string constant to ‘char*’ main.cc:1751: warning: deprecated conversion from string constant to ‘char*’ main.cc:1751: warning: deprecated conversion from string constant to ‘char*’ main.cc:1751: warning: deprecated conversion from string constant to ‘char*’ make[2]: Leaving directory `/var/tmp/portage/media-sound/mp3blaster-3.2.3-r1/work/mp3blaster-3.2.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-sound/mp3blaster-3.2.3-r1/work/mp3blaster-3.2.3' make: *** [all] Error 2 Reproducible: Always
Created attachment 150560 [details, diff] mp3blaster-3.2.3-gcc43.patch Fixes the problem. Snatched from Debian.
Passes compile test with GCC 4.2.3; application still runs. Applying patch without revision bump.
+ 22 Apr 2008; <chainsaw@gentoo.org> +files/mp3blaster-3.2.3-gcc43.patch, + mp3blaster-3.2.3-r1.ebuild: + Add missing include to enable compilation on GCC 4.3; patch from Peter + Alfredsen <peter.alfredsen@gmail.com> closes bug #218827. Thank you for your contribution to Gentoo linux :)