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

Takashi Iwai tiwai at suse.de
Wed Jun 4 14:15:07 CEST 2008


At Fri, 30 May 2008 09:37:43 +1000,
Ben Stanley wrote:
> 
> [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.

config.h is needed for older kernels indeed.


Takashi

> 
> 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
> 
> _______________________________________________
> 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