Public bug reported: Hi,
Apologies in advance if I have somehow messed up the bug reporting process - I'm quite new at this. I tried to install virtualbox on a Linux 4.19-rc3-based Ubuntu machine, but virtualbox-dkms wouldn't build as it references the old pci_get_bus_and_slot() function that seems to have been removed between kernel versions 4.16 and 4.17: [...] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c: In function ‘vboxPciLinuxDevDetachHostDriver’: /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c:92:40: error: implicit declaration of function ‘pci_get_bus_and_slot’; did you mean ‘pci_get_domain_bus_and_slot’? [-Werror=implicit-function-declaration] # define PCI_DEV_GET_SLOT(bus, devfn) pci_get_bus_and_slot(bus, devfn) [...] Editing /var/lib/dkms/virtualbox/5.2.10/source/vboxpci/linux/VBoxPci-linux.c:92 to refer to pci_get_slot(bus, devfn) instead of pci_get_bus_and_slot(bus, devfn) has fixed the compile error, though I am not sure if this is correct -- perhaps I should have used pci_get_domain_bus_and_slot(0, bus, devfn) instead. Sorry if this is already covered ground. ~ Fox --- ~$ uname -r 4.19.0-rc3-fox+ fox@humphry:~$ lsb_release -rd Description: Ubuntu 18.04.1 LTS Release: 18.04 fox@humphry:~$ apt-cache policy virtualbox-dkms virtualbox-dkms: Installed: 5.2.10-dfsg-6ubuntu18.04.1 Candidate: 5.2.10-dfsg-6ubuntu18.04.1 Version table: *** 5.2.10-dfsg-6ubuntu18.04.1 500 500 http://gb.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages 500 http://gb.archive.ubuntu.com/ubuntu bionic-updates/multiverse i386 Packages 100 /var/lib/dpkg/status 5.2.10-dfsg-6 500 500 http://gb.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages 500 http://gb.archive.ubuntu.com/ubuntu bionic/multiverse i386 Packages fox@humphry:~/kernel/linux$ cat /var/lib/dkms/virtualbox/5.2.10/build/make.log DKMS make.log for virtualbox-5.2.10 for kernel 4.19.0-rc3-fox+ (x86_64) Sat 15 Sep 05:51:15 BST 2018 make: Entering directory '/home/oai/kernel/linux' CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/linux/SUPDrv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPDrv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPDrvGip.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPDrvSem.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPDrvTracer.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPLibAll.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/alloc-r0drv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/initterm-r0drv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/memobj-r0drv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/mpnotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/powernotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/process-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/semevent-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/semeventmulti-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/semfastmutex-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/semmutex-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/spinlock-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/thread-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/thread2-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/threadctxhooks-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/timer-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/alloc/alloc.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/checksum/crc32.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/generic/semspinmutex-r0drv-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/checksum/ipv4.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/checksum/ipv6.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/err/RTErrConvertFromErrno.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/time-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/err/RTErrConvertToErrno.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/err/errinfo.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/logrel.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/log.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/logrelellipsis.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/logformat.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg1Weak.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/logcom.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/log/logellipsis.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2Add.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2AddWeak.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2AddWeakV.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2Weak.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/RTAssertMsg2WeakV.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/assert.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/handletable.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/handletablectx.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/misc/thread.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrNCmp.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrCat.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrCopyP.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrCopy.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrCopyEx.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/stringalloc.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/strformat.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/strformatrt.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/RTStrNLen.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/strformattype.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/strprintf.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/string/strtonum.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/table/avlpv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/time/time.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/RTLogWriteDebugger-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTAssertShouldPanic-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTLogWriteStdErr-stub-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTLogWriteStdOut-stub-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTLogWriteUser-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTMpGetArraySize-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTMpGetCoreCount-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTSemEventWait-2-ex-generic.o /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: .fixup: unexpected end of section CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTSemEventMultiWait-2-ex-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTSemEventWaitNoResume-2-ex-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTSemEventMultiWaitNoResume-2-ex-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/RTTimerCreate-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/errvars-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/mppresent-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/generic/uuid-generic.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/VBox/log-vbox.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/common/alloc/heapsimple.o /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build LD [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxdrv/vboxdrv.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetadp/linux/VBoxNetAdp-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetadp/VBoxNetAdp.o LD [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetadp/vboxnetadp.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/linux/VBoxNetFlt-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/VBoxNetFlt.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/SUPR0IdcClient.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/SUPR0IdcClientComponent.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/linux/SUPR0IdcClient-linux.o LD [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxnetflt/vboxnetflt.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/VBoxPci.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/SUPR0IdcClient.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/SUPR0IdcClientComponent.o CC [M] /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/SUPR0IdcClient-linux.o /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c: In function ‘vboxPciLinuxDevDetachHostDriver’: /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c:92:40: error: implicit declaration of function ‘pci_get_bus_and_slot’; did you mean ‘pci_get_domain_bus_and_slot’? [-Werror=implicit-function-declaration] # define PCI_DEV_GET_SLOT(bus, devfn) pci_get_bus_and_slot(bus, devfn) ^ /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c:397:15: note: in expansion of macro ‘PCI_DEV_GET_SLOT’ pPciDev = PCI_DEV_GET_SLOT(uBus, uDevFn); ^~~~~~~~~~~~~~~~ /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c:397:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion] pPciDev = PCI_DEV_GET_SLOT(uBus, uDevFn); ^ /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c: In function ‘vboxPciOsDevInit’: /var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.c:648:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion] pPciDev = PCI_DEV_GET_SLOT((pIns->HostPciAddress) >> 8, ^ cc1: some warnings being treated as errors scripts/Makefile.build:305: recipe for target '/var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.o' failed make[2]: *** [/var/lib/dkms/virtualbox/5.2.10/build/vboxpci/linux/VBoxPci-linux.o] Error 1 scripts/Makefile.build:546: recipe for target '/var/lib/dkms/virtualbox/5.2.10/build/vboxpci' failed make[1]: *** [/var/lib/dkms/virtualbox/5.2.10/build/vboxpci] Error 2 Makefile:1525: recipe for target '_module_/var/lib/dkms/virtualbox/5.2.10/build' failed make: *** [_module_/var/lib/dkms/virtualbox/5.2.10/build] Error 2 make: Leaving directory '/home/oai/kernel/linux' ** Affects: virtualbox (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/1792670 Title: Kernel module cannot be built on Linux 4.17+ To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1792670/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs