Bug 1460526

Summary: VirtualBox fails to install with Fedora 27 kernel (rawhide) -- 4.12.0-0.rc3.git0.2.fc27.x86_64
Product: [Fedora] Fedora Reporter: George R. Goffe <grgoffe>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: 88377883, gansalmon, ichavero, itamar, jonathan, kernel-maint, labbott, laura, madhu.chinakonda, mchehab
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-02 02:35:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description George R. Goffe 2017-06-11 20:58:55 UTC
Description of problem:

These problems have existed since the kernel that failed to support USB devices (4.12.0-0.rc0.git9.1.fc27.x86_64).

I'm attempting to install Oracle's VirtualBox (VirtualBox-5.1-5.1.22_115126_fedora25-1.x86_64.rpm) and am having trouble. The rpm version (released) AND the development version fails to install. It's install log suggests these two make commands. 

make oldconfig && make prepare

Their development version (VirtualBox-5.1.23-115966-Linux_amd64.run) produces an error in dlopen AFTER successful(?) installation: 

VirtualBox: Error -610 in supR3HardenedMainInitRuntime! VirtualBox: dlopen("/opt/VirtualBox/VBoxRT.so",) failed: <NULL>

I'm wondering if these two problems are kernel related problems.

Version-Release number of selected component (if applicable):
4.12.0-0.rc3.git0.2.fc27.x86_64

How reproducible:
always

Steps to Reproduce:

from #1 below, download "Linux 64-bit	5.1.x revision 115966"
from #2 below, download VirtualBox-5.1-5.1.22_115126_fedora25-1.x86_64.rpm  

1.https://www.virtualbox.org/wiki/Testbuilds#development_snapshots
2.http://download.virtualbox.org/virtualbox/5.1.22

3.rpm -ivh VirtualBox-5.1-5.1.22_115126_fedora25-1.x86_64.rpm
4.this is failing for me, the /var/log/vbox-install.log suggests the two make commands/
5.cd to /usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64 and enter makes to create the error messages.

To try the development version:

6.enter dnf erase VirtualBox-5.1-5.1.22_115126_fedora25-1.x86_64 BEFORE INSTALLING THE DEVELOPMENT VERSION
7.enter "sh VirtualBox-5.1.23-115966-Linux_amd64.run" to install this version which has been succeeding for me
8.enter "virtualbox" to start VirtualBox
9.start results for me are:

virtualbox
[1] 18636
fc27-bash 4.4 /isos# VirtualBox: Error -610 in supR3HardenedMainInitRuntime!
VirtualBox: dlopen("/opt/VirtualBox/VBoxRT.so",) failed: <NULL>

Actual results:
no running VirtualBox

Expected results:
fully running VirtualBox

Additional info:

/usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64# make oldconfig && make prepare
scripts/kconfig/conf  --oldconfig Kconfig
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  DESCEND  objtool
/usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64/tools/build/Makefile.build:42: /usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64/tools/build/Build.include: No such file or directory
make[4]: *** No rule to make target '/usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64/tools/build/Build.include'.  Stop.
make[3]: *** [Makefile:42: /usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64/tools/objtool/fixdep-in.o] Error 2
make[2]: *** [/usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64/tools/build/Makefile.include:4: fixdep] Error 2
make[1]: *** [Makefile:61: objtool] Error 2
make: *** [Makefile:1641: tools/objtool] Error 2
fc27-bash 4.4 /usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64# make oldconfig && make prepare^C
fc27-bash 4.4 /usr/src/kernels/4.12.0-0.rc3.git0.2.fc27.x86_64# 

uname -r
4.12.0-0.rc3.git0.2.fc27.x86_64

Comment 1 Albert Vernon 2018-02-28 21:14:17 UTC
Looks similar to #1440857. Here are my repro steps for kernel 4.15.4-300.


STEPS TO REPRODUCE:

1. Create a Fedora 27 virtual machine in VirtualBox 5.2.6.
2. Run `sudo dnf upgrade -y --refresh`.
3. Run `sudo dnf install -y kernel-devel`.
4. Insert the VirtualBox Guest Additions CD image.
5. When prompted, install VirtualBox Guest Additions 5.2.6.

OBSERVED BEHAVIOR:

1. A terminal window opens with the following:

VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong

2. Running `head /var/log/vboxadd-setup.log` shows the following:

Building the main Guest Additions module.
make V=1 CONFIG_MODULE_SIG= -C /lib/modules/4.15.4-300.fc27.x86_64/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j4 modules
make[1]: warning: -jN forced in submake: disabling jobserver mode.
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)

3. Running `cd cd /usr/src/kernels/4.15.4-300.fc27.x86_64 && make oldconfig && make prepare` shows the following:

scripts/kconfig/conf  --oldconfig Kconfig
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
scripts/Kbuild.include:102: warning: overriding recipe for target '.cache.mk'
scripts/Kbuild.include:102: warning: ignoring old recipe for target '.cache.mk'
  DESCEND  objtool
/usr/src/kernels/4.15.4-300.fc27.x86_64/tools/build/Makefile.build:37: /usr/src/kernels/4.15.4-300.fc27.x86_64/tools/build/Build.include: No such file or directory

EXPECTED BEHAVIOR:

1. The development package for kernel 4.15.4-300 should provide tools/build/Build.include.

2. VirtualBox Guest Additions should compile with kernel 4.15.4-300.

ENVIRONMENT:

# grep PRETTY_NAME /etc/os-release 
PRETTY_NAME="Fedora 27 (Workstation Edition)"

# uname -ar
Linux localhost.localdomain 4.15.4-300.fc27.x86_64 #1 SMP Mon Feb 19 23:31:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

# dnf info kernel-devel | grep Source
Source       : kernel-4.15.4-300.fc27.src.rpm

Comment 2 Laura Abbott 2018-02-28 21:58:45 UTC
If you drop the `make prepare` from that command does it work?

Comment 3 Albert Vernon 2018-02-28 22:46:38 UTC
Yes, running `make oldconfig` without `make prepare` does work:

$ cd /usr/src/kernels/4.15.4-300.fc27.x86_64 && make oldconfig
scripts/kconfig/conf  --oldconfig Kconfig
#
# configuration written to .config
#
$ echo $?
0

Running `make prepare` or running `make` by itself complains that tools/build/Build.include does not exist.

$ ack Build.include
tools/build/Makefile.build
37:include $(build-dir)/Build.include

My guess is Build.include should be in the kernel source package but isn't, or some tool is supposed to be generating Build.include but isn't.

Comment 4 George R. Goffe 2018-02-28 23:58:27 UTC
Hi,

Is comment#1 step3 a typo? Note the 'cd cd'?

3. Running `cd cd /usr/src/kernels/4.15.4-300.fc27.x86_64 && make oldconfig && make prepare`

Comment 5 Albert Vernon 2018-03-01 00:08:26 UTC
Yes, `cd cd` was a typo.

Comment 6 Laura Abbott 2018-03-02 02:35:24 UTC
I fixed this up so make prepare should work, should show up in future kernel builds.

Comment 7 George R. Goffe 2018-03-02 06:30:07 UTC
Laura,

Bless you my child and THANKS for all your help and hard work!

Best regards,

George...

Comment 8 Tom Yang 2021-11-22 09:28:03 UTC
@laura Hi Laura, I found same issue in kernel 4.18.0-348.2.1.el8_5.x86_64 for redhat 8, when I want to install the VBoxAddition on Redhat 8.5.

1. running `make oldconfig` in /usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64 was ok

2. then run the `make prepare` had the exact result as mentioned:
[root@localhost 4.18.0-348.2.1.el8_5.x86_64]# make prepare
  DESCEND  objtool
/usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64/tools/build/Makefile.build:37: /usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64/tools/build/Build.include: No such file or directory
make[4]: *** No rule to make target '/usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64/tools/build/Build.include'.  Stop.
make[3]: *** [Makefile:47: /usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64/tools/objtool/fixdep-in.o] Error 2
make[2]: *** [/usr/src/kernels/4.18.0-348.2.1.el8_5.x86_64/tools/build/Makefile.include:4: fixdep] Error 2
make[1]: *** [Makefile:65: objtool] Error 2
make: *** [Makefile:1699: tools/objtool] Error 2

Best regards,

Tom