Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 35457 - media-sound/timidity++-2.12.0-r3 fails to compile
Summary: media-sound/timidity++-2.12.0-r3 fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on: 35412
Blocks:
  Show dependency tree
 
Reported: 2003-12-09 09:04 UTC by Andreas Eriksson
Modified: 2004-02-03 02:38 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Quick Patch to fix (alsafix.patch,480 bytes, patch)
2003-12-24 22:28 UTC, Tommy Li
Details | Diff
ebuild for patch (timidity++-2.12.0-r3.ebuild,2.53 KB, application/octet-stream)
2003-12-24 22:29 UTC, Tommy Li
Details
patch to fix alsa-lib 1.0 borkage. (alsa-fix.patch,859 bytes, patch)
2004-01-20 22:57 UTC, Brian Harring (RETIRED)
Details | Diff
fixed a reliance on SND_LIB_MINOR in interface/alsaseq_c.c that I missed in the original patch... (alsa-fix.patch,1.39 KB, patch)
2004-01-20 23:46 UTC, Brian Harring (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Eriksson 2003-12-09 09:04:34 UTC
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
Comment 1 Andreas Eriksson 2003-12-09 09:04:34 UTC
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"
Comment 2 Stephane Loeuillet 2003-12-09 12:36:11 UTC
see : 
http://bugs.gentoo.org/show_bug.cgi?id=35412
Comment 3 Veiko Kukk 2003-12-13 06:52:06 UTC
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"
Comment 4 Tommy Li 2003-12-24 22:28:14 UTC
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!
Comment 5 Tommy Li 2003-12-24 22:29:20 UTC
Created attachment 22651 [details]
ebuild for patch

here is an ebuild to use the aforementioned patch
Comment 6 Tommy Li 2003-12-24 22:38:23 UTC
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....
Comment 7 Tommy Li 2003-12-24 22:49:15 UTC
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?
Comment 8 Philipp Kern 2003-12-29 05:30:30 UTC
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.
Comment 9 Rene Androsch 2004-01-10 10:17:19 UTC
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.
Comment 10 Rene Androsch 2004-01-11 04:05:10 UTC
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 :(
Comment 11 Philipp Kern 2004-01-11 04:33:54 UTC
A newer alsa ebuild won't fix this, but a new timitidy ebuild would do.
Comment 12 Hinrik Örn Sigurðsson 2004-01-15 15:48:47 UTC
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.
Comment 13 Hinrik Örn Sigurðsson 2004-01-15 15:50:20 UTC
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).
Comment 14 Brian Harring (RETIRED) gentoo-dev 2004-01-20 22:57:50 UTC
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)...
Comment 15 Brian Harring (RETIRED) gentoo-dev 2004-01-20 23:46:41 UTC
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
Comment 16 Jens Schittenhelm 2004-01-27 09:42:10 UTC
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.
Comment 17 Brian Harring (RETIRED) gentoo-dev 2004-01-29 21:26:14 UTC
Could.  Although why not just use the supplied patch, and fix the compilation issue?
Comment 18 Jeremy Huddleston (RETIRED) gentoo-dev 2004-02-01 13:24:31 UTC
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.
Comment 19 Brian Harring (RETIRED) gentoo-dev 2004-02-03 02:38:55 UTC
It's been fixed, and in cvs for a day or two...

I forgot to close this bug during that slew :P