[alsa-devel] alsa-drivers-HEAD does not compile against recent RHE5.1 kernels
Ben Stanley
Ben.Stanley at exemail.com.au
Fri May 23 03:41:40 CEST 2008
Hi,
alsa-drivers-HEAD does not compile against recent RHE5 kernels, such as
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/kernel-2.6.18-53.1.21.el5.src.rpm
The problem is mixed up with the test for init_utsname in configure.in:
dnl Check for init_utsname...
if test "$kversion.$kpatchlevel" = "2.6" -a $ksublevel -ge 19; then
CONFIG_HAVE_INIT_UTSNAME=1
else
AC_MSG_CHECKING(for init_utsname)
init_utsname="0"
ac_save_CFLAGS="$CFLAGS"
ac_save_CC="$CC"
CFLAGS="$KERNEL_CHECK_CFLAGS -Werror"
CC=$KCC
AC_TRY_COMPILE([
#define __KERNEL__
#include <linux/config.h>
#include <linux/utsname.h>
],[
int *x = (int *)init_utsname();
*x = 0;
],
AC_MSG_RESULT(yes);init_utsname="1",
AC_MSG_RESULT(no);init_utsname="0",
AC_MSG_RESULT(unknown);init_utsname="0"
)
CFLAGS=$ac_save_CFLAGS
CC=$ac_save_CC
CONFIG_HAVE_INIT_UTSNAME=$init_utsname
fi
dnl AC_SUBST(CONFIG_HAVE_INIT_UTSNAME)
if test "$CONFIG_HAVE_INIT_UTSNAME" = "1"; then
AC_DEFINE(CONFIG_HAVE_INIT_UTSNAME)
fi
The problem is that <linux/config.h> does not exist in recent kernel.org
and RH 2.6.18 kernels. The AC_TRY_COMPILE produces a negative result
(because of a warning, treated as an error, about the missing
linux/config.h file), which then causes CONFIG_HAVE_INIT_UTSNAME to NOT
be defined.
This results in a compile failure in acore/info_oss.c .
I'm not sure how this should be fixed. I'm also not sure why someone
else hasn't noticed it already, since it affects me with a standard
kernel.org kernel. Therefore, here is my test procedure.
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
tar -xjf linux-2.6.25.tar.bz2
cd linux-2.6.25
make defconfig
make modules_prepare
cd ..
(This next step takes *forever*)
git clone git://git.alsa-project.org/alsa-kernel.git alsa-kernel
git clone git://git.alsa-project.org/alsa-driver.git alsa-driver
cd alsa-driver
./gitcompile --with-kernel=../linux-2.6.25 --with-build=../linux-2.6.25
This currently produces an error:
No alsa-kernel is found.
Please specify the correct location via ALSAKERNELDIR environment
variable.
So instead I run
ALSAKERNELDIR=../alsa-kernel ./gitcompile --with-kernel=../linux-2.6.25
--with-build=../linux-2.6.25
and I get the same error.
when I repeat the above with an alsa-kernel from hg, I do not get this
problem (in fact, alsa-driver compiles completely on the Ubuntu 7.10
machine I'm using for this test).
So, I've got perhaps two different problems here. I need a hand.
Ben Stanley.
More information about the Alsa-devel
mailing list