This is possibly more a Timidity question, but I am still waiting for
confirmation from the Timidity mailing list, and it relates to ALSA
too, so maybe someone can help in the meantime.
I am trying to use Timidity as a soft synth for Rosegarden. Timidity
2.11.3 builds OK with the default configuration, but then "timidity
-iA" complains that the interface is not compiled in. The problem is
that when I attempt to configure alsa-related options the build dies
with C errors. Eg. "./configure --enable-audio=alsa" falls over in
alsa_a.c with lots of errors about unknown storage sizes, undefined
symbols, undeclared types, wrong numbers of arguments. (Detailed log
in the first attachment.) It looks to me as if I am getting the wrong
header file, or else a broken header. "./configure
--enable-audio=alsa --enable-alsaseq" has much the same problems: lots
of compile errors in alsa_seq.c . (Detailed log in the second
attachment.)
Digging around trying to find out what was going on I was surprised to
find the directories "/usr/include/{sound,alsa}", which contain
different versions of "asoundef.h" . If I figured this out right the
files in "/usr/include/sound" are installed by alsa-driver and the
ones in "/usr/include/alsa" are installed by alsa-lib? Could I be
getting the wrong "asoundef.h", or is that a red herring?
Cheers,
Jeremy
After configuring with ./configure --enable-audio=alsa --enable-alsaseq
<snip>
make[3]: Entering directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
<snip>
source='alsaseq_c.c' object='alsaseq_c.o' libtool=no \
depfile='.deps/alsaseq_c.Po' tmpdepfile='.deps/alsaseq_c.TPo' \
depmode=gcc /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 -DAU_ALSA
-DPKGDATADIR=\"/usr/local/share/timidity\" -DPKGLIBDIR=\"/usr/local/lib/timidity\"
-DDEFAULT_PATH=\"/usr/local/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -O2 -c `test
-f alsaseq_c.c || echo './'`alsaseq_c.c
In file included from alsaseq_c.c:128:
/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use
<alsa/asoundlib.h> instead.
alsaseq_c.c: In function `ctl_pass_playing_list':
alsaseq_c.c:266: storage size of `pinfo' isn't known
alsaseq_c.c:277: `SND_SEQ_OPEN' undeclared (first use in this function)
alsaseq_c.c:277: (Each undeclared identifier is reported only once
alsaseq_c.c:277: for each function it appears in.)
alsaseq_c.c:277: too few arguments to function `snd_seq_open'
alsaseq_c.c:286: storage size of `pinfo' isn't known
alsaseq_c.c:291: `SND_SEQ_GROUP_DEVICE' undeclared (first use in this function)
alsaseq_c.c: In function `do_sequencer':
alsaseq_c.c:471: `SND_SEQ_EVENT_PORT_USED' undeclared (first use in this function)
alsaseq_c.c:485: `SND_SEQ_EVENT_PORT_UNUSED' undeclared (first use in this function)
make[3]: *** [alsaseq_c.o] Error 1
make[3]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3'
make: *** [all] Error 2
After configuring with ./configure --enable-audio=alsa --enable-alsaseq
<snip>
make[3]: Entering directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
<snip>
source='alsaseq_c.c' object='alsaseq_c.o' libtool=no \
depfile='.deps/alsaseq_c.Po' tmpdepfile='.deps/alsaseq_c.TPo' \
depmode=gcc /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 -DAU_ALSA
-DPKGDATADIR=\"/usr/local/share/timidity\" -DPKGLIBDIR=\"/usr/local/lib/timidity\"
-DDEFAULT_PATH=\"/usr/local/share/timidity\" -DTIMIDITY_OUTPUT_ID=\"s\" -O2 -c `test
-f alsaseq_c.c || echo './'`alsaseq_c.c
In file included from alsaseq_c.c:128:
/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use
<alsa/asoundlib.h> instead.
alsaseq_c.c: In function `ctl_pass_playing_list':
alsaseq_c.c:266: storage size of `pinfo' isn't known
alsaseq_c.c:277: `SND_SEQ_OPEN' undeclared (first use in this function)
alsaseq_c.c:277: (Each undeclared identifier is reported only once
alsaseq_c.c:277: for each function it appears in.)
alsaseq_c.c:277: too few arguments to function `snd_seq_open'
alsaseq_c.c:286: storage size of `pinfo' isn't known
alsaseq_c.c:291: `SND_SEQ_GROUP_DEVICE' undeclared (first use in this function)
alsaseq_c.c: In function `do_sequencer':
alsaseq_c.c:471: `SND_SEQ_EVENT_PORT_USED' undeclared (first use in this function)
alsaseq_c.c:485: `SND_SEQ_EVENT_PORT_UNUSED' undeclared (first use in this function)
make[3]: *** [alsaseq_c.o] Error 1
make[3]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3/interface'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/Build/Sound/TiMidity++-2.11.3'
make: *** [all] Error 2