media-sound/timidity++-2.12.0-r3 fails compiling. I think it might have something to do with alsa. Here is the output (a few words are in swedish, but you can probably guess what they mean. If not, ask.): cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../timidity -I../libarc -I../utils -I/usr/local/include -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DENABLE_SHERRY -DAU_OSS -DAU_ALSA -DAU_ESD -DAU_VORBIS -I/usr/include -DSHARED_LIB_EXT=\".so\" -DSHLIB_DIR=\"/usr/lib/timidity\" -DSUPPORT_SOCKET -DSUPPORT_SOUNDSPEC -DWRDT_X -DPKGDATADIR=\"/usr/share/timidity\" -DPKGLIBDIR=\"/usr/lib/timidity\" -DDEFAULT_PATH=\"/usr/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -Os -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ffast-math -pipe -c `test -f alsaseq_c.c || echo './'`alsaseq_c.c I fil inkluderad fr
media-sound/timidity++-2.12.0-r3 fails compiling. I think it might have something to do with alsa. Here is the output (a few words are in swedish, but you can probably guess what they mean. If not, ask.): cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../timidity -I../libarc -I../utils -I/usr/local/include -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DENABLE_SHERRY -DAU_OSS -DAU_ALSA -DAU_ESD -DAU_VORBIS -I/usr/include -DSHARED_LIB_EXT=\".so\" -DSHLIB_DIR=\"/usr/lib/timidity\" -DSUPPORT_SOCKET -DSUPPORT_SOUNDSPEC -DWRDT_X -DPKGDATADIR=\"/usr/share/timidity\" -DPKGLIBDIR=\"/usr/lib/timidity\" -DDEFAULT_PATH=\"/usr/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -Os -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ffast-math -pipe -c `test -f alsaseq_c.c || echo './'`alsaseq_c.c I fil inkluderad från alsaseq_c.c:48: /usr/include/sys/asoundlib.h:1:2: varning: #warning This header is deprecated, use <alsa/asoundlib.h> instead. alsaseq_c.c: I funktion `alsa_seq_open': alsaseq_c.c:117: error: `SND_SEQ_OPEN_IN' undeclared (first use in this function) alsaseq_c.c:117: error: (Each undeclared identifier is reported only once alsaseq_c.c:117: error: for each function it appears in.) alsaseq_c.c:117: error: too few arguments to function `snd_seq_open' alsaseq_c.c: I funktion `alsa_create_port': alsaseq_c.c:122: error: storage size of `pinfo' isn't known alsaseq_c.c:128: error: `SND_SEQ_GROUP_DEVICE' undeclared (first use in this function) alsaseq_c.c: I funktion `do_sequencer': alsaseq_c.c:565: error: `SND_SEQ_EVENT_PORT_USED' undeclared (first use in this function) alsaseq_c.c:575: error: `SND_SEQ_EVENT_PORT_UNUSED' undeclared (first use in this function) make[3]: *** [alsaseq_c.o] Fel 1 make[3]: *** Inväntar oavslutade jobb... make[3]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[2]: *** [all-recursive] Fel 1 make[2]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[1]: *** [all-recursive] Fel 1 make[1]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1' make: *** [all] Fel 2 !!! ERROR: media-sound/timidity++-2.12.0-r3 failed. !!! Function src_compile, Line 69, Exitcode 2 !!! (no error message) Here's my info: Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.0-test11-love1) ================================================================= System uname: 2.6.0-test11-love1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-Os -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ffast-math -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-Os -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ffast-math -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ds.thn.htu.se/linux/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acl acpi alsa apache2 apm arts avi berkdb bidi bonobo cjk crypt cscope cups curl dga directfb dvd encode esd ethereal evo fam fastcgi fbcon firebird flash foomaticdb freetds freewnn gb gd gdbm ggi gif gnome gpm gstreamer gtk gtk2 gtkhtml guile imap imlib informix innodb ipv6 java jpeg kde kerberos krb4 lcms ldap leim libg++ libgda libwww lirc mad memlimit mikmod mmx motif mozilla mpeg mpi mysql ncurses nls oggvorbis opengl oss pam pdflib perl ploutils png python qt quicktime radeon readline ruby samba sasl sdl slang slp snmp socks5 spell sse sse2 ssl svga tcltk tcpd tetex tiff truetype unicode usb videos wmf x86 xml xml2 xmms xv zlib video_cards_radeon"
see : http://bugs.gentoo.org/show_bug.cgi?id=35412
I can confirm this bug. Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.22-gentoo-r1) ================================================================= System uname: 2.4.22-gentoo-r1 i686 AMD Duron(tm) processor Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -Os -m3dnow -mmmx -msse -fomit-frame-pointer -pipe" 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/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -Os -m3dnow -mmmx -msse -fomit-frame-pointer -pipe -Wno-deprecated" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.linux.ee/pub/gentoo/distfiles" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://noa.linux.ee/gentoo-portage" USE="3dnow X aalib acl acpi alsa apache2 avi berkdb cdr crypt cups dga directfb dvd dvdr encode esd fbcon flash foomaticdb gd gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml imap imlib ipv6 java jikes jpeg lcms ldap libg++ libwww mad maildir matrox mbox mikmod mmx motif mozilla mpeg mysql ncurses nls nocd oggvorbis opengl oss pam pdflib perl plotutils png postgres ppds python quicktime readline samba sasl scanner sdl slang snmp spell sse ssl svga tcpd tiff truetype unicode usb videos wmf x86 xml xml2 xmms xv zlib video_cards_matrox"
Created attachment 22650 [details, diff] Quick Patch to fix Here is a quick patch to allow compilation. However - there is a new version of Timidity that already has this fixed. We need an ebuild for it!
Created attachment 22651 [details] ebuild for patch here is an ebuild to use the aforementioned patch
Comment on attachment 22650 [details, diff] Quick Patch to fix >diff -rC 2 TiMidity++-2.12.0-pre1a/timidity/alsa_a.c TiMidity++-2.12.0-pre1b/timidity/alsa_a.c >*** TiMidity++-2.12.0-pre1a/timidity/alsa_a.c Wed Jan 16 02:15:20 2002 >--- TiMidity++-2.12.0-pre1b/timidity/alsa_a.c Wed Dec 24 22:22:07 2003 >*************** >*** 42,45 **** >--- 42,51 ---- > > /*ALSA header file*/ >+ >+ #include <alsa/version.h> >+ # if SND_LIB_MAJOR==1 >+ #define ALSA_PCM_OLD_HW_PARAMS_API >+ #define ALSA_PCM_NEW_HW_PARAMS_API >+ # endif > #include <sys/asoundlib.h> > Wait - still doesn't work - hold on....
Okay - I'm giving up my attempts to get this to compile with ALSA 1.00. I thought this would be a quick fix. Anyone else wanna try?
As the old api patch doesn't help, perhaps there should be a dependency on alsa-lib<1.0.0. Or just put a better ebuild with the new version mentioned into the portage tree. But there should be done something about this bug anyway. It isn't even assigned.
I also have this bug, but a different location (using alsa-lib 1.0.0_rc2-r1: media-sound/timidity++-2.12.0-r3 (as required to build duke3d) fails In file included from alsaseq_c.c:48: /usr/include/sys/asoundlib.h:1:2: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead. alsaseq_c.c: In function `alsa_seq_open': alsaseq_c.c:117: error: `SND_SEQ_OPEN_IN' undeclared (first use in this function) alsaseq_c.c:117: error: (Each undeclared identifier is reported only once alsaseq_c.c:117: error: for each function it appears in.) alsaseq_c.c:117: error: too few arguments to function `snd_seq_open' alsaseq_c.c: In function `alsa_create_port': alsaseq_c.c:122: error: storage size of `pinfo' isn't known alsaseq_c.c:128: error: `SND_SEQ_GROUP_DEVICE' undeclared (first use in this function) alsaseq_c.c: In function `do_sequencer': alsaseq_c.c:565: error: `SND_SEQ_EVENT_PORT_USED' undeclared (first use in this function) alsaseq_c.c:575: error: `SND_SEQ_EVENT_PORT_UNUSED' undeclared (first use in this function) make[3]: *** [alsaseq_c.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1' make: *** [all] Error 2 !!! ERROR: media-sound/timidity++-2.12.0-r3 failed. !!! Function src_compile, Line 75, Exitcode 2 I really, would like to see this working, because duke3d needs it :( No timidity no duke3d.
Okay, today I tried it with the new alsa-driver 1.0.1 (and alsa-tools and alsa-utils), again error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../timidity -I../libarc -I../utils -I/usr/local/include -I/usr/X11R6/include -DENABLE_SHERRY -DAU_OSS -DAU_ALSA -DAU_VORBIS -I/usr/include -DSHARED_LIB_EXT=\".so\" -DSHLIB_DIR=\"/usr/lib/timidity\" -DXAW3D -DSUPPORT_SOCKET -DSUPPORT_SOUNDSPEC -DWRDT_X -DPKGDATADIR=\"/usr/share/timidity\" -DPKGLIBDIR=\"/usr/lib/timidity\" -DDEFAULT_PATH=\"/usr/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -O3 -march=pentium4 -mmmx -msse -msse2 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays -pipe -c `test -f server_c.c || echo './'`server_c.c source='alsaseq_c.c' object='alsaseq_c.o' libtool=no \ depfile='.deps/alsaseq_c.Po' tmpdepfile='.deps/alsaseq_c.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../timidity -I../libarc -I../utils -I/usr/local/include -I/usr/X11R6/include -DENABLE_SHERRY -DAU_OSS -DAU_ALSA -DAU_VORBIS -I/usr/include -DSHARED_LIB_EXT=\".so\" -DSHLIB_DIR=\"/usr/lib/timidity\" -DXAW3D -DSUPPORT_SOCKET -DSUPPORT_SOUNDSPEC -DWRDT_X -DPKGDATADIR=\"/usr/share/timidity\" -DPKGLIBDIR=\"/usr/lib/timidity\" -DDEFAULT_PATH=\"/usr/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -O3 -march=pentium4 -mmmx -msse -msse2 -mfpmath=sse -funroll-loops -fprefetch-loop-arrays -pipe -c `test -f alsaseq_c.c || echo './'`alsaseq_c.c In file included from alsaseq_c.c:48: /usr/include/sys/asoundlib.h:1:2: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead. alsaseq_c.c: In function `alsa_seq_open': alsaseq_c.c:117: error: `SND_SEQ_OPEN_IN' undeclared (first use in this function) alsaseq_c.c:117: error: (Each undeclared identifier is reported only once alsaseq_c.c:117: error: for each function it appears in.) alsaseq_c.c:117: error: too few arguments to function `snd_seq_open' alsaseq_c.c: In function `alsa_create_port': alsaseq_c.c:122: error: storage size of `pinfo' isn't known alsaseq_c.c:128: error: `SND_SEQ_GROUP_DEVICE' undeclared (first use in this function) alsaseq_c.c: In function `do_sequencer': alsaseq_c.c:565: error: `SND_SEQ_EVENT_PORT_USED' undeclared (first use in this function) alsaseq_c.c:575: error: `SND_SEQ_EVENT_PORT_UNUSED' undeclared (first use in this function) make[3]: *** [alsaseq_c.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1/interface' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/timidity++-2.12.0-r3/work/TiMidity++-2.12.0-pre1' make: *** [all] Error 2 !!! ERROR: media-sound/timidity++-2.12.0-r3 failed. !!! Function src_compile, Line 75, Exitcode 2 !!! (no error message) Seems, that I don't get a duke3d :(
A newer alsa ebuild won't fix this, but a new timitidy ebuild would do.
I fetched the latest cvs of timidity, made a .tar.bz2, put it in /usr/portage/distfiles and did "emerge timidity++ --digest" and it compiles. So, some needs to apply a cvs snapshot patch to the current ebuild or something like that.
Oh, I forgot, I'm using alsa-lib-1.0.1 and love-sources-2.6.1-r3 (http://forums.gentoo.org/viewtopic.php?t=123663).
Created attachment 24161 [details, diff] patch to fix alsa-lib 1.0 borkage. Heh... You guys are going to like this one. The original patch isn't quite complete; interfaces/alsaseq_c.c was missed, is needed. That said and done that isn't the breakage... What's happening is that timidity/alsa_a.c is defining it's own symbol for alsa version, if SND_LIB_MINOR is defined, use it as the alsa-lib. Well, going from 0.9.* to 1.0 trips SND_LIB_MINOR back to 0, so timidity/alsa_a.c is trying to use the >=0.3 interface. That said and done, since timidity++ has code for handling alsalib all the way back to v0.3, I've left out the usual #include <alsa/version.h>, and just defined the symbols. No clue if that works correctly for the really old alsa-lib (eg <=0.5). This is the correct fix, since there isn't a newer timidity ebuild from what I've found in my checking about. Patch included fixes the problems, and should be applied via -p0 (epatch ought to handle it; went w/ -p0 since other alsa fix's like this were converted to that). Either way, it fixes the compilation issues w/ alsa-lib 1.0, and doesn't appear to affect 0.9.8. The problem should be solved since the alsa-lib issue was purely compilation, although I'd really prefer somebody to test the patch out (since I don't use timidity)...
Created attachment 24162 [details, diff] fixed a reliance on SND_LIB_MINOR in interface/alsaseq_c.c that I missed in the original patch... Same thing, just with a change for SND_LIB_MINOR>= 6 to SND_LIB_MINOR>= 6 || SND_LIB_MAJOR==1
Can we just use alsa-lib 1.0.1 as a blocker for timidity++ ? So everone has simply to revert to alsa-lib 0.9.8 to get this to work.
Could. Although why not just use the supplied patch, and fix the compilation issue?
I just saw a slew of alsa-1 bugs fixed, so I was wondering if anyone was on this one. If not, I'll try to get to it this week.
It's been fixed, and in cvs for a day or two... I forgot to close this bug during that slew :P