Subject: Re: [linux-audio-user] Fedora and ALSA drivers.
From: horsh (horsh_AT_mail.ru)
Date: Tue Oct 21 2003 - 01:29:35 EEST
Richard,
For me it looks like your kernel has
ALSA included into source tree already.
It is only a guess -- I dont have
a lny linux in hands right now
but you can check
it with something like:
find /usr/src/linux/ | xargs grep -sqi alsa && echo yes I have ALSA in kernel
NB: i haven't try this but should work
horsh
==================8<===========================
Hallo,
Richard hat gesagt: // Richard wrote:
> This only 2 examples.
>
> gcc-3.3.1-6
> kernel-2.4.22-1.2097.nptl
> kernel-source to match
>
> gcc -D__KERNEL__ -DMODULE=1 -I/home/ric/alsa-driver-0.9.7c/include -I/lib/modules/2.4.22-1.2097.nptl/build/include -O2 -mpreferred-stack-boundary=2 -march=athlon -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD -DEXPORT_SYMTAB -c hwdep.c
> In file included from /home/ric/alsa-driver-0.9.7c/include/sound/driver.h:42,
> from hwdep.c:22:
> /home/ric/alsa-driver-0.9.7c/include/adriver.h:134: error: redefinition of `PDE'/lib/modules/2.4.22-1.2097.nptl/build/include/linux/proc_fs.h:17: error: `PDE' previously defined here
> make[1]: *** [hwdep.o] Error 1
> make[1]: Leaving directory `/home/ric/alsa-driver-0.9.7c/acore'
>
...
> At some point i been told that the drivers needed be fixed to compile in
> fedora.so. well if you can make out something out of this.. ill appreciate
Well, this is a bit strange. I'm guessing a bit now:
The offending lines in your example result from adriver.h defining
things for some kernel versions, including kernel 2.4.22.
For example the error regarding PDE:
/home/ric/alsa-driver-0.9.7c/include/adriver.h:134: error:
redefinition of `PDE
'/lib/modules/2.4.22-1.2097.nptl/build/include/linux/proc_fs.h:17:
error: `PDE' previously defined here
This means, that somewhere in "include/linux/proc_fs.h" the name PDE
is already defined. In adriver.h ALSA tries to define it on its own
like this:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 4)
#include <linux/fs.h>
static inline struct proc_dir_entry *PDE(const struct inode *inode)
{
...
#endif
The strange thing is, that in my rather vanilla version of kernel
2.4.22 there is no such thing as PDE in include/linux/*:
$ grep PDE
/usr/src/linux/include/linux/proc_fs*
$ (nothing here)
So I suspect, but I can only guess here, that your kernel source has a
patch that introduces this PDE thing (I have no idea what it could be
used for).
I don't know if ALSA could fix that at all. It might be, that if
Fedora ships a custom Linux kernel source, they should also provide
adapted ALSA-sources.
ciao
-- Frank Barknecht _ ______footils.org__
This archive was generated by hypermail 2b28 : Tue Oct 21 2003 - 01:34:10 EEST