[alsa-devel] alsa-drivers-HEAD does not compile against recent RHE5.1 kernels

Ben Stanley Ben.Stanley at exemail.com.au
Fri May 30 01:37:43 CEST 2008


[PING] 

I need some help on this one. I don't know how to determine whether or
not the config.h file should be included in the test program or not.

Ben Stanley.

On Fri, 2008-05-23 at 22:20 +1000, Ben Stanley wrote:
> Further to my previous email,
> 
> The config.log file shows the following output for the test for
> init_utsname in the case of the RHEL 5.1 kernel 2.6.18-53.1.19:
> 
> configure:10792: checking for init_utsname
> configure:10822: gcc -c -Wall -fno-strict-aliasing -g -O2
> -I/lib/modules/2.6.18-53.1.19.el5/build/include
> -I/lib/modules/2.6.18-53.1.19.el5/source/include  -Iinclude -nostdinc
> -iwithprefix include -DKBUILD_STR(s)=#s
> -DKBUILD_BASENAME=KBUILD_STR(dummy) -DKBUILD_MODNAME=KBUILD_BASENAME
> -Werror  conftest.c >&5
> In file included from conftest.c:52:
> /lib/modules/2.6.18-53.1.19.el5/build/include/linux/config.h:6:2: error:
> #warning Including config.h is deprecated.
> configure:10828: $? = 1
> configure: failed program was:
> 
> I think it is failing because of the config.h warning.
> 
> Ben Stanley.
> 
> On Fri, 2008-05-23 at 21:39 +1000, Ben Stanley wrote:
> > I have now refined the description of the original problem, after the
> > other problems were resolved. The init_utsname problem only occurs with
> > the RHE5.1 kernel, and not with the corresponding vanilla kernel.org
> > kernel.
> > 
> > My build procedure is (this is before Jaroslav fixed the alsa-kmirror
> > issue):
> > 
> > $ git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror
> > $ git clone git://git.alsa-project.org/alsa-driver.git alsa-driver  
> > $ cd alsa-driver
> > $ ALSAKERNELDIR=../alsa-kmirror ./gitcompile
> > 
> > The Linux headers in /usr/include/linux are owned by the package
> > linux-headers-2.6.8-53.1.19 from RHEL5.1 .
> > 
> > Note the result
> > checking for init_utsname... no
> > However, this kernel includes a definition for init_utsname in
> > include/linux/utsname.h:37:52. The configure test has detected the wrong
> > result.
> > 
> > Further down, the build fails
> > 
> >   CC [M]  /home/stanb/Desktop/Drivers/alsa-driver/acore/info_oss.o
> > In file included
> > from /home/stanb/Desktop/Drivers/alsa-driver/acore/../alsa-kernel/core/info_oss.c:29,
> > 
> > from /home/stanb/Desktop/Drivers/alsa-driver/acore/info_oss.c:7:
> > include/linux/utsname.h:37:52: error: macro "init_utsname" passed 1
> > arguments, but takes just 0
> > In file included
> > from /home/stanb/Desktop/Drivers/alsa-driver/acore/../alsa-kernel/core/info_oss.c:29,
> > 
> > from /home/stanb/Desktop/Drivers/alsa-driver/acore/info_oss.c:7:
> > include/linux/utsname.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
> > ‘__attribute__’ before ‘{’ token
> > 
> > If I build against a kernel.org vanilla 2.6.18, as follows:
> > 
> > $ cd linux-2.6.18
> > $ make modules_prepare
> > $ cd ..
> > $ git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror
> > $ git clone git://git.alsa-project.org/alsa-driver.git alsa-driver  
> > $ cd alsa-driver
> > $ ALSAKERNELDIR=../alsa-kmirror ./gitcompile
> > --with-kernel=../linux-2.6.18 --with-build=../linux-2.6.18
> > 
> > Then the build fails further down (for a different reason):
> > 
> >   CC [M]  /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/ice1724.o
> > In file included
> > from /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/ice1724.c:2:
> > /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/../../alsa-kernel/pci/ice1712/ice1724.c: In function ‘get_rawmidi_substream’:
> > /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/../../alsa-kernel/pci/ice1712/ice1724.c:240: warning: implicit declaration of function ‘list_first_entry’
> > /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/../../alsa-kernel/pci/ice1712/ice1724.c:241: error: expected expression before ‘struct’
> > /home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/../../alsa-kernel/pci/ice1712/ice1724.c:241: warning: return makes pointer from integer without a cast
> > make[4]: ***
> > [/home/stanb/Desktop/Drivers/alsa-driver/pci/ice1712/ice1724.o] Error 1
> > 
> > 
> > Ben Stanley.
> > 
> > On Fri, 2008-05-23 at 11:41 +1000, Ben Stanley wrote:
> > > 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.
> > > 
> > > 
> > > _______________________________________________
> > > Alsa-devel mailing list
> > > Alsa-devel at alsa-project.org
> > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > 
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



More information about the Alsa-devel mailing list