[linux-audio-user] Timidity and ALSA compile bug!

jm jm at world.waena.edu
Wed Mar 10 10:16:25 EST 2004


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 at 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-dummy.c?rev=1.15) 
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---




More information about the Linux-audio-user mailing list