[alsa-devel] trouble compiling alsa-drivers

Takashi Iwai tiwai at suse.de
Fri Aug 3 15:37:27 CEST 2007

At Thu, 2 Aug 2007 16:53:23 -0700,
Wallace, Brooke wrote:
> The alsa-drivers INSTALL file tells me:
>    On 2.6 kernels, the build directory has to be given via
> --with-build=<kernel_build_dir> option additionaly, too.
> What exactly is mean by kernel_build_dir? I should not have to recompile
> my kernel because I already have the sourcecore module.

It's usually the directory /lib/modules/$VERSION/build points.
--with-kernel is the directory /lib/modules/$VERSION/source points.
In most cases they are same, but they can be different.

> Configure seems to work fine and locates my kernel source code:
> ./configure --with-cards=hda-intel --with-sequencer=yes
> But when I compile, it fails in acore/pcm_native.c line #75,
> acore/pcm_native.c line #75 uses the macro DEFINE_RWLOCK which
> apparently has not been defined yet.
> Searching thu the alsa-drivers source, I find that include/adriver.h
> defines this macro.
> What am I doing wrong? Why doesn't adriver.h get included when I compile
> acore/pcm_native.c?
> I'm using the latest release - alsa-driver-1.0.14rc4
> My Kernel sources are: 2.6.9-34.EL-smp-i686

Maybe it's the problem.  It's a modified kernel, and many pieces are
backported (even sometimes wrongly).  We don't guarantee that the
driver would work with any modified kernels.

Check whether DEFINE_SPINLOCK is defined in the kernel header file,
and wheter it lacks DEFINE_RWLOCK.  If so, the fix would be easy.
Add DEFINE_RWLOCK under #ifndef DEFINE_RWLOCK in adriver.h.


More information about the Alsa-devel mailing list