[Fixed] vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Discussions related to using VirtualBox on Linux hosts.
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

[Fixed] vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »


ModEdit; Changed title from:
"vboxdrv build failure, virtualbox 5.2.26 32-bit, other distributions, Slackware 14.2, kernel 4.4.172" to:
"vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)".

Related ticket: #18315: Kernel modules do not build with linux kernel 4.4.169, which appears to be fixed with builds r128999 and later, for both 5.2.27 and 6.0.5.

Cannot install Virtualbox 5.2.26, 32-bit on Slackware 14.2, now that kernel is at 4.4.172

Code: Select all

  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.initterm-r0drv-linux.o.d  -nostdinc -isys
tem /usr/lib/gcc/i586-slackware-linux/5.5.0/include -I./arch/x86/include -Iarch/
x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch/x86/
include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/genera
ted/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-
prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-func
tion-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno
-sse2 -mno-3dnow -mno-avx -m32 -msoft-float -mregparm=3 -freg-struct-return -fno
-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -mtune=generic -ma
ccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -D
CONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_SSSE3=1 -DCO
NFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCON
FIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mind
irect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delete-nul
l-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -
DCC_HAVE_ASM_GOTO -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame
-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclara
tion-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-const
ants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -W
error=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox/SUPD
rvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.172-smp/build/i
nclude -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL
__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBO
X -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -Wno-declaration-after-stat
ement -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODUL
E  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(initterm_r0drv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.o /tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.c
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function 'rtR0MemObjNativeLockUser':
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1122:33: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
                                 fWrite,                 /* force write access. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct page **' but argument is of type 'int'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1124:33: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1112:18: error: too many arguments to function 'get_user_pages'
             rc = get_user_pages(pTask,                  /* Task for fault accounting. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
scripts/Makefile.build:277: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.o"; fi; fi;
Makefile:1436: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxdrv' failed
make: *** [vboxdrv] Error 2
Last edited by socratis on 3. Apr 2019, 20:25, edited 6 times in total.
Reason: Changed title to something more appropriate.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by socratis »

Can you try with 1) the latest 5.2.x test builds, 2) the latest 6.0.x test builds. Both of them in https://www.virtualbox.org/wiki/Testbuilds
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »

I'll give the latest 5.2.x testbuilds a try, but 6.0.x is 64-bit only, and I need a 32-bit build.
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »

No luck with 5.2.27 32-bit test build...

Code: Select all

# ./VirtualBox-5.2.27-128786-Linux_x86.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.2.27 r128786 (2019-02-12T12:25:57Z) installer
Removing previous installation of VirtualBox 5.2.22 r126460 from /opt/VirtualBox
Installing VirtualBox to /opt/VirtualBox
Python found: python, installing bindings...
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

Code: Select all

  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.memuserkernel-r0drv-linux.o.d  -nostdinc 
-isystem /usr/lib/gcc/i586-slackware-linux/5.5.0/include -I./arch/x86/include -I
arch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch
/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/g
enerated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wst
rict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit
-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx
 -mno-sse2 -mno-3dnow -mno-avx -m32 -msoft-float -mregparm=3 -freg-struct-return
 -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -mtune=generi
c -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI
=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_SSSE3=1
 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 
-DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables 
-mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delet
e-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-race
s=0 -DCC_HAVE_ASM_GOTO -fstack-protector -Wno-unused-but-set-variable -fno-omit-
frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wde
claration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-
constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-i
nt -Werror=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox
/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.172-smp/bu
ild/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__K
ERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WIT
H_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX_WITH_EFLAGS_AC_
SET_IN_VBOXDRV -DIPRT_WITH_EFLAGS_AC_PRESERVING -Wno-declaration-after-statement
 -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D
"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(memuserkernel_r0drv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function 'rtR0MemObjNativeLockUser':
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1122:33: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
                                 fWrite,                 /* force write access. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct page **' but argument is of type 'int'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1124:33: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1112:18: error: too many arguments to function 'get_user_pages'
             rc = get_user_pages(pTask,                  /* Task for fault accounting. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
scripts/Makefile.build:277: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o"; fi; fi;
Makefile:1436: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxdrv' failed
make: *** [vboxdrv] Error 2
Leszek
Posts: 4
Joined: 22. Feb 2019, 15:01

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by Leszek »

No luck with VirtualBox-6.0.5-128914-Linux_amd64.run -

Code: Select all

/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1097:18: error: implicit declaration of function ‘get_user_pages_remote’ [-Werror=implicit-function-declaration]
             rc = get_user_pages_remote(
                  ^
  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.process-r0drv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/5/include  -I./arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -Iubuntu/include  -D__KERNEL__ -fno-pie -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-pie -no-pie -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.0-143-generic/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_WITHOUT_PRAGMA_ONCE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV -DIPRT_WITH_EFLAGS_AC_PRESERVING -Wno-declaration-after-statement -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(process_r0drv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/.tmp_process-r0drv-linux.o /tmp/vbox.0/r0drv/linux/process-r0drv-linux.c

Code: Select all

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by socratis »

Ticket #18315: Kernel modules do not build with linux kernel 4.4.169 -> fixed after 6.0.4/5.2.26 and in test builds.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »

socratis wrote:Ticket #18315: Kernel modules do not build with linux kernel 4.4.169 -> fixed after 6.0.4/5.2.26 and in test builds.
I'm still seeing issues with the latest 5.2.27 (128916) test build...

Code: Select all

# ./VirtualBox-5.2.27-128916-Linux_x86.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.2.27 r128916 (2019-02-20T06:30:35Z) installer
Removing previous installation of VirtualBox 5.2.27 r128786 from /opt/VirtualBox
Installing VirtualBox to /opt/VirtualBox
Python found: python, installing bindings...
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

Code: Select all

  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.memuserkernel-r0drv-linux.o.d  -nostdinc 
-isystem /usr/lib/gcc/i586-slackware-linux/5.5.0/include -I./arch/x86/include -I
arch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch
/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/g
enerated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wst
rict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit
-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx
 -mno-sse2 -mno-3dnow -mno-avx -m32 -msoft-float -mregparm=3 -freg-struct-return
 -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -mtune=generi
c -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI
=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_SSSE3=1
 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 
-DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables 
-mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delet
e-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-race
s=0 -DCC_HAVE_ASM_GOTO -fstack-protector -Wno-unused-but-set-variable -fno-omit-
frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wde
claration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-
constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-i
nt -Werror=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox
/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.172-smp/bu
ild/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__K
ERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WIT
H_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX_WITH_EFLAGS_AC_
SET_IN_VBOXDRV -DIPRT_WITH_EFLAGS_AC_PRESERVING -Wno-declaration-after-statement
 -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D
"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(memuserkernel_r0drv_linux)"  -D
"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/memuserkernel
-r0drv-linux.o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function 'rtR0MemObjNativeLockU
ser':
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1079:33: warning: passing argument 
1 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversio
n]
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct task_struct *' but argument is
 of type 'RTR3PTR {aka unsigned int}'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1080:33: warning: passing argument 
2 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversio
n]
                                 cPages,                 /* How many pages. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct mm_struct *' but argument is of type 'int'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1089:33: warning: passing argument 4 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'long unsigned int' but argument is of type 'struct page **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1090:33: warning: passing argument 5 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
                                 papVMAs);               /* vmas */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'unsigned int' but argument is of type 'struct vm_area_struct **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1079:18: error: too few arguments to function 'get_user_pages'
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1096:18: error: implicit declaration of function 'get_user_pages_remote' [-Werror=implicit-function-declaration]
             rc = get_user_pages_remote(
                  ^
cc1: some warnings being treated as errors
scripts/Makefile.build:277: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o"; fi; fi;
Makefile:1436: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxdrv' failed
make: *** [vboxdrv] Error 2
Leszek
Posts: 4
Joined: 22. Feb 2019, 15:01

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by Leszek »

socratis wrote:Ticket #18315: Kernel modules do not build with linux kernel 4.4.169 -> fixed after 6.0.4/5.2.26 and in test builds.
The issue is still there for latest 6.0.5 build (from VirtualBox-6.0.5-128999-Linux_amd64.run vbox-setup.log) -

Code: Select all

/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1080:18: error: too few arguments to function ‘get_user_pages’
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:101:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1222:6: note: declared here
Leszek
Posts: 4
Joined: 22. Feb 2019, 15:01

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by Leszek »

In meantime, downgrading Linux kernel 4.4.0-142, 4.4.0-143 to older version was the fix in my case -

Code: Select all

Will install 7 packages, and remove 5 packages.
152 MB of disk space will be freed
========================================
[REMOVE, NOT USED] linux-modules-4.4.0-143-generic:amd64 4.4.0-143.169
[INSTALL, DEPENDENCIES] linux-headers-4.4.0-21:amd64 4.4.0-21.37
[INSTALL, DEPENDENCIES] linux-headers-4.4.0-21-generic:amd64 4.4.0-21.37
[INSTALL, DEPENDENCIES] linux-image-4.4.0-21-generic:amd64 4.4.0-21.37
[INSTALL, DEPENDENCIES] linux-image-extra-4.4.0-21-generic:amd64 4.4.0-21.37
[REMOVE, DEPENDENCIES] linux-image-extra-4.4.0-142-generic:amd64 4.4.0-142.168
[REMOVE, DEPENDENCIES] linux-modules-extra-4.4.0-143-generic:amd64 4.4.0-143.169
[DOWNGRADE] linux-generic:amd64 4.4.0.143.150 -> 4.4.0.21.22
[DOWNGRADE] linux-headers-generic:amd64 4.4.0.143.150 -> 4.4.0.21.22
[DOWNGRADE] linux-image-generic:amd64 4.4.0.143.150 -> 4.4.0.21.22
[REMOVE] linux-image-4.4.0-142-generic:amd64 4.4.0-142.168
[REMOVE] linux-image-4.4.0-143-generic:amd64 4.4.0-143.169
========================================

Log complete.

===============================================================================

Aptitude 0.7.4: log report
пн, лют 25 2019 19:12:39 +0200

  IMPORTANT: this log only lists intended actions; actions which fail
  due to dpkg problems may not be completed.

Will install 0 packages, and remove 5 packages.
88,8 MB of disk space will be freed
========================================
[REMOVE, NOT USED] linux-headers-4.4.0-142:amd64 4.4.0-142.168
[REMOVE, NOT USED] linux-headers-4.4.0-142-generic:amd64 4.4.0-142.168
[REMOVE, NOT USED] linux-tools-4.4.0-142:amd64 4.4.0-142.168
[REMOVE, NOT USED] linux-tools-4.4.0-142-generic:amd64 4.4.0-142.168
[HOLD, DEPENDENCIES] linux-image-generic:amd64 4.4.0.21.22
[HOLD] linux-generic:amd64 4.4.0.21.22
[HOLD] linux-headers-generic:amd64 4.4.0.21.22
[REMOVE] linux-image-4.4.0-143-generic:amd64 4.4.0-143.169
========================================

Log complete.

===============================================================================
Then I was able to install VirtualBox-6.0.5-128999-Linux_amd64.run VB test build successfully. Thank you.
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »

And I just tried again with the latest 5.2.27-128969 build...

Code: Select all

$ ./VirtualBox-5.2.27-128969-Linux_x86.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.2.27 r128969 (2019-02-21T13:09:59Z) installer
Removing previous installation of VirtualBox 5.2.27 r128916 from /opt/VirtualBox
Installing VirtualBox to /opt/VirtualBox
Python found: python, installing bindings...
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

Code: Select all

  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.memuserkernel-r0drv-linux.o.d  -nostdinc 
-isystem /usr/lib/gcc/i586-slackware-linux/5.5.0/include -I./arch/x86/include -I
arch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch
/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/g
enerated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wst
rict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit
-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx
 -mno-sse2 -mno-3dnow -mno-avx -m32 -msoft-float -mregparm=3 -freg-struct-return
 -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -mtune=generi
c -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI
=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_SSSE3=1
 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 
-DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables 
-mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delet
e-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-race
s=0 -DCC_HAVE_ASM_GOTO -fstack-protector -Wno-unused-but-set-variable -fno-omit-
frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wde
claration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-
constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-i
nt -Werror=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox
/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.172-smp/bu
ild/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__K
ERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WIT
H_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX_WITH_EFLAGS_AC_
SET_IN_VBOXDRV -DIPRT_WITH_EFLAGS_AC_PRESERVING -Wno-declaration-after-statement
 -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D
"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(memuserkernel_r0drv_linux)"  -D
"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/memuserkernel
-r0drv-linux.o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function 'rtR0MemObjNativeLockU
ser':
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1079:33: warning: passing argument 
1 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversio
n]
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct task_struct *' but argument is
 of type 'RTR3PTR {aka unsigned int}'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1080:33: warning: passing argument 
2 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversio
n]
                                 cPages,                 /* How many pages. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'struct mm_struct *' but argument is of type 'int'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1089:33: warning: passing argument 4 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'long unsigned int' but argument is of type 'struct page **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1090:33: warning: passing argument 5 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
                                 papVMAs);               /* vmas */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: expected 'unsigned int' but argument is of type 'struct vm_area_struct **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1079:18: error: too few arguments to function 'get_user_pages'
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1200:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1096:18: error: implicit declaration of function 'get_user_pages_remote' [-Werror=implicit-function-declaration]
             rc = get_user_pages_remote(
                  ^
cc1: some warnings being treated as errors
scripts/Makefile.build:277: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0dr
v/linux/memuserkernel-r0drv-linux.o"; fi; fi;
Makefile:1436: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxdrv' failed
make: *** [vboxdrv] Error 2
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by socratis »

The developers know about the issue, they've been notified. When there a new test build for you to try out, I'll post an update...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
michael
Oracle Corporation
Posts: 682
Joined: 10. May 2007, 09:46
Contact:

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by michael »

Please try the current test builds[1] and report back on ticket 18315[2] if possible.

[1] https://www.virtualbox.org/wiki/Testbuilds
[2] https://www.virtualbox.org/ticket/18315
slvr32
Posts: 13
Joined: 14. Feb 2019, 04:09

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by slvr32 »

michael wrote:Please try the current test builds[1] and report back on ticket 18315[2] if possible.

[1] https://www.virtualbox.org/wiki/Testbuilds
[2] https://www.virtualbox.org/ticket/18315
I just had luck installing the 5.2.27-129042 test build...

Code: Select all


# ./VirtualBox-5.2.27-129042-Linux_x86.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.2.27 r129042 (2019-02-26T07:20:32Z) installer
Removing previous installation of VirtualBox 5.2.27 r128969 from /opt/VirtualBox
Installing VirtualBox to /opt/VirtualBox
Python found: python, installing bindings...

VirtualBox has been installed successfully.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by socratis »

Great, thanks for letting us know. Marking as [Fixed] and adding the related info to the first post.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Leszek
Posts: 4
Joined: 22. Feb 2019, 15:01

Re: [Fixed] vboxdrv build failure, VBox 5.2.26 32-bit, kernel 4.4.168 (#18315)

Post by Leszek »

I confirm recent VirtualBox-6.0.5-129220-Linux_amd64.run installation success with recent 4.4.0-143 Linux kernel.
Post Reply