Re: alsa-drivers-HEAD does not compile against recent RHE5.1 kernels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have now refined the description of the original problem, after theother problems were resolved. The init_utsname problem only occurs withthe RHE5.1 kernel, and not with the corresponding vanilla kernel.orgkernel.
My build procedure is (this is before Jaroslav fixed the alsa-kmirrorissue):
$ 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 packagelinux-headers-2.6.8-53.1.19 from RHEL5.1 .
Note the resultchecking for init_utsname... noHowever, this kernel includes a definition for init_utsname ininclude/linux/utsname.h:37:52. The configure test has detected the wrongresult.
Further down, the build fails
  CC [M]  /home/stanb/Desktop/Drivers/alsa-driver/acore/info_oss.oIn file includedfrom /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 1arguments, but takes just 0In file includedfrom /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.oIn file includedfrom /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 castmake[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@xxxxxxxxxxxxxxxx> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux