Page 1 of 2

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

Posted: 14. Feb 2019, 04:15
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

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

Posted: 14. Feb 2019, 06:37
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

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

Posted: 14. Feb 2019, 07:09
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.

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

Posted: 15. Feb 2019, 05:10
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

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

Posted: 22. Feb 2019, 15:03
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

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

Posted: 22. Feb 2019, 15:27
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.

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

Posted: 24. Feb 2019, 04:01
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

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

Posted: 25. Feb 2019, 11:51
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

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

Posted: 25. Feb 2019, 19:23
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.

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

Posted: 25. Feb 2019, 23:02
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

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

Posted: 26. Feb 2019, 00:08
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...

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

Posted: 26. Feb 2019, 11:49
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

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

Posted: 27. Feb 2019, 03:53
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.

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

Posted: 27. Feb 2019, 22:53
by socratis
Great, thanks for letting us know. Marking as [Fixed] and adding the related info to the first post.

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

Posted: 10. Mar 2019, 14:19
by Leszek
I confirm recent VirtualBox-6.0.5-129220-Linux_amd64.run installation success with recent 4.4.0-143 Linux kernel.