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

Reply via email to