[linux-audio-user] Fedora and ALSA drivers.

Frank Barknecht fbar at footils.org
Mon Oct 20 13:59:01 EDT 2003


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__



More information about the Linux-audio-user mailing list