I've hit a compile error when building xmms-1.2.9-r2 on a gentoo box with gcc-2.95.3. There was a previous bug on gcc-2.95 build problems with xmms (bug 40370, now closed), but that bug's owner (Jeremy Huddleston) has requested that a new report be filed. PS: I had to use this 'unstable' ebuild because of the inclusion of a patch which fixes other gcc-2.95 compile issues (see bug 40370 for details) Reproducible: Always Steps to Reproduce: 1. export ACCEPT_KEYWORDS="~x86" 2. emerge -v xmmsctrl 3. Actual Results: Here is the error output from gcc (note that I have replaced repeated errors with '[...]'): /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -I../../intl -I../.. -mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -funroll-all-loops -c -o audio.lo `test -f 'audio.c' || echo './'`audio.c gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -I../../intl -I../.. -mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -funroll-all-loops -c audio.c -Wp,-MD,.deps/audio.TPlo -fPIC -DPIC -o audio.lo audio.c: In function `xrun_recover': audio.c:123: warning: pointer of type `void *' used in arithmetic [...] audio.c: In function `alsa_get_mixer_elem': audio.c:344: warning: pointer of type `void *' used in arithmetic [...] audio.c: In function `alsa_setup': audio.c:841: warning: pointer of type `void *' used in arithmetic [...] audio.c:850: warning: pointer of type `void *' used in arithmetic audio.c:920: warning: passing arg 3 of `snd_pcm_hw_params_set_channels_near' makes integer from pointer without a cast audio.c:933: warning: passing arg 3 of `snd_pcm_hw_params_set_rate_near' makes integer from pointer without a cast audio.c:952: warning: passing arg 3 of `snd_pcm_hw_params_set_buffer_time_near' makes integer from pointer without a cast audio.c:961: warning: passing arg 3 of `snd_pcm_hw_params_set_period_time_near' makes integer from pointer without a cast audio.c:976: too many arguments to function `snd_pcm_hw_params_get_buffer_size' audio.c:984: warning: passing arg 2 of `snd_pcm_hw_params_get_period_size' from incompatible pointer type audio.c:984: too many arguments to function `snd_pcm_hw_params_get_period_size' audio.c:994: warning: pointer of type `void *' used in arithmetic [...] make[3]: *** [audio.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/xmms-1.2.9-r2/work/xmms-1.2.9/Output/alsa' Jeremy requested info on installed versions of alsa: $ qpkg -I -i alsa media-libs/alsa-lib-0.9.0_rc2 * Advanced Linux Sound Architecture Library [ http://www.alsa-project.org/] media-sound/alsa-driver-0.9.0_rc2 * Advanced Linux Sound Architecture kernel modules [ http://www.alsa-project.org/ ] media-sound/alsa-utils-0.9.0_rc2 * Advanced Linux Sound Architecture Utils [ http://www.alsa-project.org/ ] media-plugins/xmms-aalsa-0.5.4-r3 * This output plugin allows xmms to work with alsa [ ] $ emerge info Portage 2.0.49-r3 (default-1.0, gcc-2.95.3, glibc-2.2.4-r9, 2.4.17-r5) ================================================================= System uname: 2.4.17-r5 i686 AuthenticAMD ccache version 2.2 [enabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox autoaddcvs ccache" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/imran/src/gentoo/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 -3dnow -xinerama -aalib -alsa -arts -berkdb -bonobo -cdr -directfb -esd -gdbm -ggi -gif -gnome -gnome-libs -gpm -gphoto2 -gtk -gtkhtml -guile -imlib -java -kde -ldap -libwww -mmx -motif -mozilla -mysql -nas -nls -oggvorbis -opengl -pam -perl -png -postgres -python -qt -readline -ruby -scanner -sdl -slang -snmp -ssl -svga -tcltk -tcpd -tetex -tiff -X -x86 -oss -3dnow -apm -arts -avi -berkdb -crypt -cups -encode -gdbm -gif -gpm -gtk -imlib -java -jpeg -kde -libg++ -libwww -mikmod -mmx -motif -mpeg -ncurses -nls -oggvorbis -opengl -pam -pdflib -png -python -qt -quicktime -readline -sdl -slang -spell -ssl -svga -tcpd -truetype -X -xml2 -xmms -xv 3dnow alsa berkdb cdr gdbm gif gpm gtk kde libwww mozilla nls oggvorbis opengl pam perl png python qt readline sdl slang ssl svga tcpd X avi crypt encode jpeg mpeg ncurses pdflib quicktime spell truetype xmms doc dvd evms2 moznoirc moznomail moznocompose moznoxft tiff gkrellm"
1) Is there a problem compiling xmms-1.2.8-r4 with gcc2? If so, please show the output here as that needs to be fixed too. Can you try upgrading your version of alsa-lib to 0.9.8. Also, the xmms-alsa package isn't needed any more as alsa support is contained in the xmms package now, so you could unmerge that if you desired.
Jeremy - thanks for taking up this bug :) Yes, I did try the latest stable xmms ebuild (xmms-1.2.8-r4) before attempting the latest unstable ebuild. The Changelog seems to indicate that a gcc-2.95 patch has been incorporated into the latest unstable ebuild - has that been backported to the stable one as well? In any case, I have recreated the xmms-1.2.8-r4 compile failure (results below). Regarding the upgrade of alsa-libs - would I have to upgrade alsa-driver and alsa-utils also? --- xmms-1.2.8-r4 compiler error --- gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -I../../intl -I../.. -mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wpointer-arith -finline-functions -ffast-math -fomit-frame-pointer -funroll-all-loops -c audio.c -fPIC -DPIC -o audio.lo audio.c: In function `xrun_recover': audio.c:128: warning: pointer of type `void *' used in arithmetic [...] audio.c: In function `alsa_setup_mixer': audio.c:336: warning: pointer of type `void *' used in arithmetic [...] audio.c: In function `alsa_setup': audio.c:685: warning: pointer of type `void *' used in arithmetic [...] audio.c:694: warning: pointer of type `void *' used in arithmetic [...] audio.c:764: warning: passing arg 3 of `snd_pcm_hw_params_set_channels_near' makes integer from pointer without a cast audio.c:777: warning: passing arg 3 of `snd_pcm_hw_params_set_rate_near' makes integer from pointer without a cast audio.c:796: warning: passing arg 3 of `snd_pcm_hw_params_set_buffer_time_near' makes integer from pointer without a cast audio.c:805: warning: passing arg 3 of `snd_pcm_hw_params_set_period_time_near' makes integer from pointer without a cast audio.c:820: too many arguments to function `snd_pcm_hw_params_get_buffer_size' audio.c:827: warning: passing arg 2 of `snd_pcm_hw_params_get_period_size' from incompatible pointer type audio.c:827: too many arguments to function `snd_pcm_hw_params_get_period_size' audio.c:836: warning: pointer of type `void *' used in arithmetic [...] make[3]: *** [audio.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/xmms-1.2.8-r4/work/xmms-1.2.8/Output/alsa' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xmms-1.2.8-r4/work/xmms-1.2.8/Output' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xmms-1.2.8-r4/work/xmms-1.2.8' make: *** [all-recursive-am] Error 2
The patch did not need to be back ported as the bug was introduced into the later version and thus was not in 1.2.8. As for mixing alsa versions... It's tricky to know what alsa drivers will work with what... Sometimes it's just hit-or-miss. I'd advise updating alsa-driver, alsa-lib, alsa-utils, alsa-tools, and alsa-oss to 0.9.8. as 0.9.0_rc2 is REALLY old and I think we'll be deleting it and a couple others as the sound stuff gets cleaned up... Please let me know if going up to 0.9.8 fixes the problem... I'm almost certain it will...
I added the proper version of alsa-lib to xmms's DEPEND.