Public bug reported:

I've been building my own mainline/stock kernels on Ubuntu (technically,
Kubuntu 14.04) for years, using `make-kpkg` from the kernel-package
package. All I had to do after installing the linux-image and linux-
headers packages was to correct the /lib/modules/4.x.y/{source,build}
symlinks so they pointed to the /usr/src/linux-headers-4.x.y directory
instead of to the source tree (which I'd trash because HUGE).

Last kernel I did this with was 4.9.30. Doing the same with 4.15.7 and
4.14.23 works for some 3rd party modules (for instance, ZFS 0.7.6) but
not with others, like the driver for the RTL8812au WIFI adapter (or even
the host kernel extensions from VirtualBox 5.2.8-121009~Ubuntu~trusty
installed from Oracle' own PPA). There, I'm seeing make errors like
this:

```
    make ARCH=x86_64 CROSS_COMPILE= -C 
/lib/modules/4.14.23-ck1-mainline-core2-rjvb/build 
M=/path/to/rtl8812au_rtl8821au-git  modules
    make[1]: Entering directory 
`/usr/src/linux-headers-4.14.23-ck1-mainline-core2-rjvb'
    test -e include/generated/autoconf.h -a -e include/config/auto.conf || (    
            \
            echo >&2;                                                       \
            echo >&2 "  ERROR: Kernel configuration is invalid.";           \
            echo >&2 "         include/generated/autoconf.h or 
include/config/auto.conf are missing.";\
            echo >&2 "         Run 'make oldconfig && make prepare' on kernel 
src to fix it.";      \
            echo >&2 ;                                                      \
            /bin/false)
    mkdir -p /path/to/rtl8812au_rtl8821au-git/.tmp_versions ; rm -f 
/home/bertin/work/src/Scratch/RTL881x/rtl8812au_rtl8821au-git/.tmp_versions/*
    make -f ./scripts/Makefile.build obj=/path/to/rtl8812au_rtl8821au-git
    make[2]: *** No rule to make target 
`/path/to/rtl8812au_rtl8821au-git/core/rtw_io.o', needed by 
`/path/to/rtl8812au_rtl8821au-git/8812au.o'. Stop.
    make[1]: *** [_module_/path/to/rtl8812au_rtl8821au-git] Error 2
    make[1]: Leaving directory 
`/usr/src/linux-headers-4.14.23-ck1-mainline-core2-rjvb'
    make: *** [modules] Error 2
```

The builds complete without issue with the source and build symlinks
point my kernel build directory.

Two explanations (both of which probably have some truth):
1. the tree installed in /usr/src/linux-headers-4.1x.y* is somehow incomplete
2. something has to be changed in the 3rd party extension module

I'd go with 2) were it not for the fact that apparently at least one of
the various 8812au driver repos builds just fine against 4.14 and 4.15,
and I must assume that this holds too for VirtualBox. (There are some
reports of the error I'm seeing but in an older version, supposedly
fixed in 5.2.7 .)

The RTL 8812au driver source I'm working with:
github.com/RJVB/rtl8812au_rtl8821au .


I've already updated to the latest kernel-package version (13.018+nmu1), that 
didn't solve the issue.

I'm running Ubuntu 14.04.5 LTS, with all LTS updates I'm aware of.

** Affects: kernel-package (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1752857

Title:
  3rd party kernel modules fail to build due to incomplete /usr/src
  /linux-headers-4.1x.y install?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/kernel-package/+bug/1752857/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to