I've determined what is going on.

The linux headers from http://kernel.ubuntu.com/~kernel-ppa/mainline are
built with a gcc 9 version.  This causes CONFIG_CC_HAS_ASM_INLINE to be
set to true.

However the gcc level that is installed by default on ubuntu 18.04.3 is
still gcc 7.4.  This level doesn't meet the criteria for supporting
CONFIG_CC_HAS_ASM_INLINE, so the building with the linux headers will
fail.

I manually set the CONFIG_CC_HAS_ASM_INLINE statements false in the
linux 5.4 headers (deleted the line in include/generated/autoconf.h and
set CONFIG_CC_HAS_ASM_INLINE=n in include/config/auto.conf).

With the above set, I was able to build using a gcc 7.4 compiler.

So.. either the dependency for the headers needs to include a compatible
compiler level, or the headers need to be built to disable those
features that are supplied by compilers higher then gcc 7.4.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1849348

Title:
  linux 5.4-rc4 Unable to build simple kernel module

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  Cannot build a kernel module, errors in Linux headers using the
  current RC4 (also tried RC3, and daily) mainline kernel packages from
  http://kernel.ubuntu.com/~kernel-ppa/mainline

  
  Am able to build against a 5.4-rc4 kernel level directly from upstream kernel 
git repo (on a different platform).

  To recreate error:

  Install linux headers, etc from current 5.4 RC.  (used 5.4.0-050400rc4
  dated 10/20 for this test)

  --[/tmp/builderr/Makefile]--

  EXTRA_CFLAGS +=

  obj-m += conftest.o

  -- [EOF] --

  --[/tmp/builderr/conftest.c]--

  #include <linux/module.h>
  void conftest(void)
  {

  }
  MODULE_LICENSE("GPL-2");

  -- [EOF] --

  Command:

  make -C /lib/modules/5.4.0-050400rc4-generic/build M=/tmp/builderr/
  V=2 &> make_err.log

  
  make.log is attached.

  
  Expected output (using above Makefile and conftest.c, performed a build on a 
system with 4.15.0-66 linux packages installed):

  -- [expected output] --

  make -C /lib/modules/4.15.0-66-generic/build/ M=/tmp/builderr
  make: Entering directory '/usr/src/linux-headers-4.15.0-66-generic'
    CC [M]  /tmp/builderr/conftest.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC      /tmp/builderr/conftest.mod.o
    LD [M]  /tmp/builderr/conftest.ko
  make: Leaving directory '/usr/src/linux-headers-4.15.0-66-generic'

  ----

  
  ========= 
  lsb_release -rd
  Description:  Ubuntu 18.04.3 LTS
  Release:      18.04

  
  uname -a
  Linux ubuntu_base 5.4.0-050400rc4-generic #201910202130 SMP Sun Oct 20 
21:32:54 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

  
  dpkg -l | grep "linux\-[a-z]*\-"
  ii  linux-headers-5.4.0-050400rc4                5.4.0-050400rc4.201910202130 
      all          Header files related to Linux kernel version 5.4.0
  ii  linux-headers-5.4.0-050400rc4-generic        5.4.0-050400rc4.201910202130 
      amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
  ii  linux-image-unsigned-5.4.0-050400rc4-generic 5.4.0-050400rc4.201910202130 
      amd64        Linux kernel image for version 5.4.0 on 64 bit x86 SMP
  ri  linux-libc-dev:amd64                         4.15.0-65.74                 
      amd64        Linux Kernel Headers for development
  ii  linux-modules-5.4.0-050400rc4-generic        5.4.0-050400rc4.201910202130 
      amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 
SMP

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1849348/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to