cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Discussions related to using VirtualBox on Linux hosts.
Post Reply
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

vbox-install.zip
vbox install log
(4.74 KiB) Downloaded 19 times
Cannot install VirtualBox-5.1-5.1.22_115126_openSUSE132-1.x86_64.rpm on Opensuse Leap 42.3.
Up to Leap 42.2, I was always able to install from oracle rpm.
The error concerning the kernel missing files is false ( "include/generated/autoconf.h or include/config/auto.conf are missing." )
Every things concerning the required files are installed.

I have open a bug report to opensuse, but they don't support third-party software. But there is some technical information concerning the change in the kernel. Perhaps that could help ?
here is a link to the report : https://bugzilla.opensuse.org/show_bug.cgi?id=1047215

I have also open a thread on opensuse forum.
here is the link to opensuse forum : https://forums.opensuse.org/showthread. ... 5216/page2. I have tried to modify the source file as proposed on post #7, but it does not help me.

I have installed the same version on a machine running Leap 42.2 with kernel 4.4.73 ( but it is a 42.2 kernel ).

Any help is welcome.
socratis
Site Moderator
Posts: 27329
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: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by socratis »

Try one on the 5.1.23 testbuilds from 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.
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by Perryg »

The error concerning the kernel missing files is false ( "include/generated/autoconf.h or include/config/auto.conf are missing." )
Are you 100% certain it is false? Do those files actually exist for the running kernel?
Usually this happens when a distro updates a kernel and decides to make do with previous kernel headers/devels instead of updating them right away. You usually see this with RC kernels though because they are updating them at a faster rate and most do not need to re-compile external modules.
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

As said in my thread to opensuse forum https://forums.opensuse.org/showthread. ... 2_115216#7 , I have try to patch source code but that does not help me

Patch for vboxguest:

Code: Select all

diff -uraN vboxguest-5.1.22.orig/vboxguest/r0drv/linux/memobj-r0drv-linux.c vboxguest-5.1.22/vboxguest/r0drv/linux/memobj-r0drv-linux.c
--- vboxguest-5.1.22.orig/vboxguest/r0drv/linux/memobj-r0drv-linux.c    2017-07-04 14:33:29.068577884 +0200
+++ vboxguest-5.1.22/vboxguest/r0drv/linux/memobj-r0drv-linux.c 2017-07-04 14:35:18.464574652 +0200
@@ -1084,18 +1084,14 @@
 # endif
                                 );
 #else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
-            rc = get_user_pages(pTask,                  /* Task for fault accounting. */
-                                pTask->mm,              /* Whose pages. */
-                                R3Ptr,                  /* Where from. */
+           /* The following is modified for Leap 42.3 having the
+            *  get_user_pages() API from kernel 4.10
+            */
+            rc = get_user_pages(R3Ptr,                  /* Where from. */
                                 cPages,                 /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
                                 fWrite ? FOLL_WRITE |   /* Write to memory. */
                                          FOLL_FORCE     /* force write access. */
                                        : 0,             /* Write to memory. */
-# else
-                                fWrite,                 /* Write to memory. */
-                                fWrite,                 /* force write access. */
-# endif
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 papVMAs);               /* vmas */
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
Patch for vboxhost:

Code: Select all

diff -uraN vboxhost-5.1.22.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c vboxhost-5.1.22/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
--- vboxhost-5.1.22.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c       2017-07-04 14:41:56.640562887 +0200
+++ vboxhost-5.1.22/vboxdrv/r0drv/linux/memobj-r0drv-linux.c    2017-07-04 14:42:41.748561554 +0200
@@ -1084,18 +1084,14 @@
 # endif
                                 );
 #else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
-            rc = get_user_pages(pTask,                  /* Task for fault accounting. */
-                                pTask->mm,              /* Whose pages. */
-                                R3Ptr,                  /* Where from. */
+           /* The following is modified for Leap 42.3 having the
+            *  get_user_pages() API from kernel 4.10
+            */
+            rc = get_user_pages(R3Ptr,                  /* Where from. */
                                 cPages,                 /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
                                 fWrite ? FOLL_WRITE |   /* Write to memory. */
                                          FOLL_FORCE     /* force write access. */
                                        : 0,             /* Write to memory. */
-# else
-                                fWrite,                 /* Write to memory. */
-                                fWrite,                 /* force write access. */
-# endif
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 papVMAs);               /* vmas */
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */

Here the comments from opensuse bugzilla people https://bugzilla.opensuse.org/show_bug.cgi?id=1047215 . Have you any opinions ?
Andreas Stieger 2017-07-04 13:26:59 UTC

(In reply to Jean-Claude Dole from comment #3)
> Here a proposal for a temporary workaround from opensuse forum.
> PLease read :
> https://forums.opensuse.org/showthread. ... ll-oracle-
> virtualbox-5-1-5-1-22_115216#4

I think this workaround is for Oracle Virtualbox, not the kernel.
Comment 6 Axel Köllhofer 2017-07-04 13:39:54 UTC

(In reply to Andreas Stieger from comment #2)

> As noted in
> https://forums.opensuse.org/showthread. ... ll-oracle-
> virtualbox-5-1-5-1-22_115216?p=2828727#post2828727
> there is a patch for vbox, which our packages have but which are omitted
> from Oracle's.
>
> Larry, are you involved in Oracle's virtualbox at all? Can they fix their
> packages to work with our kernel?

Problem is, this patch only applies to the 4.4.x from 42.3 with a lot of backported code from newer versions and will break building the modules against the 4.4.x from 42.2.

So the only way for Oracle to fix this would be to supply an extra package especially for 42.3 containing that change and I don't know if that is very likely to happen.

AK
Comment 7 Andreas Stieger 2017-07-04 14:09:51 UTC

Yeah I do not think we can fix that for a third party package. Also we ship a working VirtualBox 5.1.22.

Slightly better autoconf magic may replace the pure version number comparison that the code seems to be doing.
Comment 8 Larry Finger 2017-07-04 16:55:08 UTC

(In reply to Andreas Stieger from comment #7)
> Yeah I do not think we can fix that for a third party package. Also we ship
> a working VirtualBox 5.1.22.
>
> Slightly better autoconf magic may replace the pure version number
> comparison that the code seems to be doing.

I would not expect Oracle to handle any breakage caused by backporting of kernel features that break the API/version correspondence. I am interested in the "autoconf magic" mentioned above. Please elaborate.
Comment 10 Andreas Stieger 2017-07-10 07:04:05 UTC

(In reply to Larry Finger from comment #8)
> (In reply to Andreas Stieger from comment #7)
> > Slightly better autoconf magic may replace the pure version number
> > comparison that the code seems to be doing.
>
> I would not expect Oracle to handle any breakage caused by backporting of
> kernel features that break the API/version correspondence. I am interested
> in the "autoconf magic" mentioned above. Please elaborate.

By that I mean that upstream may switch from comparing kernel version numbers to testing whether a particular API is available.............
Any help is welcome
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

socratis wrote:Try one on the 5.1.23 testbuilds from https://www.virtualbox.org/wiki/Testbuilds
Running from root user : VirtualBox-5.1.23-116680-Linux_amd64.run
=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!

Screen logs
===========
linux-j302:/data5_my_tmp_pub/BUG/VIRTUALBOX/TEST_BUILD # bash VirtualBox-5.1.23-116680-Linux_amd64.run
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.1.23 r116680 (2017-07-04T10:40:42Z) installer
Installing VirtualBox to /opt/VirtualBox
Python found: python, installing bindings...
vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong.

There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root.

VirtualBox has been installed successfully.

You will find useful information about using VirtualBox in the user manual
/opt/VirtualBox/UserManual.pdf
and in the user FAQ
http://www.virtualbox.org/wiki/User_FAQ

We hope that you enjoy using VirtualBox.

The installation log file is at /var/log/vbox-install.log.
linux-j302:/data5_my_tmp_pub/BUG/VIRTUALBOX/TEST_BUILD #


/var/log/vbox-install.log
============================
VirtualBox 5.1.23 r116680 installer, built 2017-07-04T10:40:42Z.

Testing system setup...
Installing VirtualBox to /opt/VirtualBox

vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
make KBUILD_VERBOSE=1 SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 CONFIG_MODULE_SIG= -C /lib/modules/4.4.75-1-default/build -j8 modules
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make -C /usr/src/linux-4.4.75-1-obj/x86_64/default KBUILD_SRC=/usr/src/linux-4.4.75-1 \
-f /usr/src/linux-4.4.75-1/Makefile modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
vbox-install.log
(53.27 KiB) Downloaded 9 times
Same errors as using the rpm file.
Perryg wrote:
The error concerning the kernel missing files is false ( "include/generated/autoconf.h or include/config/auto.conf are missing." )
Are you 100% certain it is false? Do those files actually exist for the running kernel?
Usually this happens when a distro updates a kernel and decides to make do with previous kernel headers/devels instead of updating them right away. You usually see this with RC kernels though because they are updating them at a faster rate and most do not need to re-compile external modules.
/usr/src/linux-4.4.75-1-obj/x86_64/default/include/config/auto.conf
===================================================================
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.75 Kernel Configuration
#
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_RING_BUFFER=y
CONFIG_UWB_HWA=m
CONFIG_NF_CONNTRACK_H323=m
..........
..........
..........
..........



/usr/src/linux-4.4.75-1-obj/x86_64/default/include/generated/
=============================================================
/*
*
* Automatically generated file; DO NOT EDIT.
* Linux/x86 4.4.75 Kernel Configuration
*
*/
#define CONFIG_IP6_NF_MATCH_AH_MODULE 1
#define CONFIG_NLS_CODEPAGE_861_MODULE 1
#define CONFIG_RING_BUFFER 1
#define CONFIG_UWB_HWA_MODULE 1
#define CONFIG_NF_CONNTRACK_H323_MODULE 1
#define CONFIG_HAVE_ARCH_SECCOMP_FILTER 1
#define CONFIG_IP6_NF_SECURITY_MODULE 1
#define CONFIG_SND_PROC_FS 1
#define CONFIG_VFIO_PCI_MMAP 1
..........
..........
..........
..........
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

Any help is welcome
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by Perryg »

Sorry for not replying sooner I have been really busy. openSUSE is not my main OS and I only had 42.2 installed so I had to install 43.3 and just found time to do so. I have a few things to offer at this point but no good news yet. The best I can tell at this point is the following:
  • 1) the latest release of VirtualBox that is supported is 42.1, but it appears to work in 42.2
    2) both the official version and the repo version fail pretty much the same and you can see the errors in the last of the vbox-install.log
    3) there has been chatter in the DEV mail about things that seem to be related but the bottom line is openSUSE has changed some things in the 42.3 kernel that is causing issues with VirtualBox.
I am trying to debug this but it may take a while since as I said openSUSE is not one of my main OSes and the difference takes a bit to figure out. You can post to the DEV mail list, IRC, or even bugtracker if you like but be sure to be complete in your description and include the vbox-install.log as an attachment.
JonH
Posts: 37
Joined: 25. Oct 2012, 03:03
Primary OS: Mac OS X other
VBox Version: OSE other
Guest OSses: eComstation, DOS, Win10

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by JonH »

FWIW, I have same error doing recompile of Version 5.0.16 r105871 after upgrading from Leap 42.2 -> 42.3. Had no problem in 42.2 recompiling over many kernel updates.
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

Cannot install VirtualBox-5.1-5.1.26_117224_openSUSE132-1.x86_64 on Opensuse Leap 42.3.

Kernel 4.4.79-4-default

Same error in /var/log/vbox-install.log as for VirtualBox-5.1-5.1.22_115126_openSUSE132-1.x86_64
jcdole
Posts: 95
Joined: 3. May 2013, 18:25
Primary OS: openSUSE
VBox Version: PUEL
Guest OSses: WIN 7, WIN 10
Location: South west of france

Re: cannot install on opensuse 42.3 - kernel 4.4.75-1-default

Post by jcdole »

Perryg wrote: ................
  • 1) the latest release of VirtualBox that is supported is 42.1, but it appears to work in 42.2

    ................
Yes I use it until 42.3

Perryg wrote: ........................

I am trying to debug this but it may take a while since as I said openSUSE is not one of my main OSes and the difference takes a bit to figure out.

............................
http://download.opensuse.org/update/leap/42.3/oss/src/
I think you can find the modified source package from opensuse.

From opensuse people
You need virtualbox, virtualbox-qt and virtualbox-host-kmp-default.
But if you install virtualbox, the rest should be pulled in automatically.

And uninstall Oracle's VirtualBox package first, or you *will* encounter problems.

....... install the version from the standard 42.3 repo instead .............
I don't know if this can help.
Post Reply