Why are you trying to install version 2.9.5? That code in ancient. The ALSA API has
changed significantly several times since that code was released. It's no wonder you
can't get it to compile. I compiled 2.13.0_rc2 last night. Works great, not to mention
it has jack support.
http://timidity.sourceforge.net
-Reuben
-----Original Message-----
From: jm [mailto:jm@world.waena.edu]
Sent: Wednesday, March 10, 2004 9:16 AM
Cc: A list for linux audio users
Subject: [linux-audio-user] Timidity and ALSA compile bug!
Hi All,
I have been pulling my hair out trying to compile timidity...
I configure thusly...
./configure --enable-audio-oss --enable-interface=gtk
--enable-audio=alsa --enable-server --enable-alsaseq
When I 'make' I get the following error.
make[2]: Entering directory `/usr/src/MUSIC/TiMidity++-2.9.5/timidity'
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -I../libarc
-I../libunimod -I../interface -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 -DAU_ALSA
-DPKGDATADIR=\"/usr/local/share/timidity\"
-DPKGLIBDIR=\"/usr/local/lib/timidity\"
-DDEFAULT_PATH=\"/usr/local/share/timidity\"
-DTIMIDITY_OUTPUT_ID=\"s\"
-O2 -c alsa_a.c
alsa_a.c:52: conflicting types for `snd_pcm_t'
/usr/local/include/alsa/pcm.h:300: previous declaration of `snd_pcm_t'
alsa_a.c: In function `check_sound_cards':
alsa_a.c:116: storage size of `ctl_hw_info' isn't known
alsa_a.c:117: storage size of `pcm_info' isn't known
alsa_a.c:152: warning: passing arg 2 of `snd_ctl_open' makes pointer
from integer without a cast
alsa_a.c:152: too few arguments to function `snd_ctl_open'
alsa_a.c:186: warning: passing arg 2 of `snd_ctl_pcm_info' makes pointer
from integer without a cast
alsa_a.c:186: too many arguments to function `snd_ctl_pcm_info'
alsa_a.c:194: `SND_PCM_INFO_PLAYBACK' undeclared (first use in this
function)
alsa_a.c:194: (Each undeclared identifier is reported only once
alsa_a.c:194: for each function it appears in.)
alsa_a.c: In function `set_playback_info':
alsa_a.c:235: `snd_pcm_playback_info_t' undeclared (first use in this
function)
alsa_a.c:235: parse error before "pinfo"
alsa_a.c:237: storage size of `pparams' isn't known
alsa_a.c:238: storage size of `pstatus' isn't known
alsa_a.c:248: `pinfo' undeclared (first use in this function)
alsa_a.c:263: `SND_PCM_PINFO_8BITONLY' undeclared (first use in this
function)
alsa_a.c:265: `SND_PCM_PINFO_16BITONLY' undeclared (first use in this
function)
alsa_a.c:277: request for member `rate' in something not a structure or
union
alsa_a.c:298: request for member `channels' in something not a structure
or union
alsa_a.c:300: request for member `channels' in something not a structure
or union
alsa_a.c:306: `SND_PCM_FMT_S16_LE' undeclared (first use in this function)
alsa_a.c:311: request for member `format' in something not a structure
or union
alsa_a.c:311: `SND_PCM_SFMT_S16_LE' undeclared (first use in this function)
alsa_a.c:342: `SND_PCM_FMT_U8' undeclared (first use in this function)
alsa_a.c:347: request for member `format' in something not a structure
or union
alsa_a.c:347: `SND_PCM_SFMT_U8' undeclared (first use in this function)
alsa_a.c:383: request for member `channels' in something not a structure
or union
alsa_a.c: In function `open_output':
alsa_a.c:541: `SND_PCM_OPEN_PLAYBACK' undeclared (first use in this
function)
alsa_a.c:541: warning: passing arg 1 of `snd_pcm_open' from incompatible
pointer type
alsa_a.c:541: warning: passing arg 2 of `snd_pcm_open' makes pointer
from integer without a cast
alsa_a.c: In function `acntl':
alsa_a.c:673: storage size of `pstatus' isn't known
make[2]: *** [alsa_a.o] Error 1
make[2]: Leaving directory `/usr/src/MUSIC/TiMidity++-2.9.5/timidity'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/MUSIC/TiMidity++-2.9.5'
make: *** [all-recursive-am] Error 2
[root@innanu /usr/src/MUSIC/TiMidity++-2.9.5]#
I don't get it! My /usr/include/sound|sys|alsa are all synced (to the
alsa includes), but those defines dont exist in any of the includes anyway
I can;t ust a compiled RPM as I need the alsa-sequencer part, which
isn;t compiled into any rpm I have tried (about 10!)
However, in the pcm.h there IS a var called SND_PCM_FORMAT_U8 vs
SND_PCM_FMT_U8. I can't believe this... there must be a version of the
pch.h that uses the FMT other than FORMAT. This seems so obvious an
error I can;t believe I see nothing on the net about it. In addition
snd_pcm_t is defined twice... the type in pcm.h conflicting with the
instance in timidity's alsa_a.c
I have search thru every pcm.h I have.. with no luck.
I found one refernce in google
(
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-driver/cards/Attic/card-dum…)
which refers to the card_dummy.c, but I don;t have (want) and dummy as I
have a real card.
Does anyone have a clue as to why this is and how to fix it?
Thanks...
---------
info
---------
Version: TiMidity++-2.9.5
ALSA: 1.0.3
Linux: 2.6.4-rc2
/etc/modules.conf
---BEGIN---
alias parport_lowlevel parport_pc
alias usb-controller usb-uhci
alias char-major-116 snd
options snd major=116 cards_limit=1
alias sound-slot-0 snd-intel8x0
alias snd-card-0 snd-intel8x0
options snd-intel8x0 index=0 id="ICH" mpu_port=0x330
alias sound-slot-1 snd-card-1
alias snd-card-1 snd-virmidi
alias char-major-14 soundcore
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
install sound-slot-0 /sbin/modprobe --ignore-install sound-slot-0 && {
/bin/aumix-minimal -f
remove sound-slot-0 { /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null
2>&1; /bin/true; }; /
alias eth0 8139too
alias char-major-89 i2c-dev
---END---