Bug 797987 - Unable to recompile kernel or build Virtualbox guest additions.
Summary: Unable to recompile kernel or build Virtualbox guest additions.
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 17
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-27 18:09 UTC by Dan Mashal
Modified: 2012-03-22 20:12 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-02-28 02:39:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
full vbox build log (168.08 KB, text/plain)
2012-02-28 02:17 UTC, Adam Williamson
no flags Details

Description Dan Mashal 2012-02-27 18:09:14 UTC
Description of problem: Unable to install VirtualBox guest additions and/or recompile 3.3 kernel rc3 or rc4


Version-Release number of selected component (if applicable):  
3.3.0-0.rc4.git1.4.fc17.x86_64


How reproducible: Easily


Steps to Reproduce:
1. Install Fedora 17 in a virtual machine on VirtualBox. In my case Windows 7 x64 was the host.
2. Try to install guest additions.
3. OpenGL module is unable to build and asks you to recompile the kernel source by going to  /usr/src/kernels/3.3.0-0.rc4.git1.4.fc17.x86_64/ and running "make oldconfig && make prepare"
  
Actual results:

[root@Fedora17 media]# ./VBoxLinuxAdditions.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.1.8 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing existing VirtualBox DKMS kernel modules[  OK  ]
Removing existing VirtualBox non-DKMS kernel modules[  OK  ]
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions              [  OK  ]
Installing the Window System drivers
Warning: unsupported pre-release version of X.Org Server installed.  Not
installing the X.Org drivers.
Installing  modules                                        [  OK  ]
Installing graphics libraries and desktop services componen[  OK  ]



From /var/log/vboxadd-install.log file:

====================================================================
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/3.3.0-0.rc4.git1.4.fc17.x86_64/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo;                                                           \
echo "  ERROR: Kernel configuration is invalid.";               \
echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo;                                                           \
/bin/false)
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmp/vbox.0
========================================================================

[root@Fedora17 3.3.0-0.rc4.git1.4.fc17.x86_64]# make oldconfig && make prepare
scripts/kconfig/conf --oldconfig Kconfig
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
make[1]: *** No rule to make target `/usr/src/kernels/3.3.0-0.rc4.git1.4.fc17.x86_64/arch/x86/syscalls/syscall_32.tbl', needed by `arch/x86/syscalls/../include/generated/asm/unistd_32.h'.  Stop.
make: *** [archheaders] Error 2
[root@Fedora17 3.3.0-0.rc4.git1.4.fc17.x86_64]# 

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

Expected results:

Being able to install VirtualBox guest additions without having to recompile the kernel.

Additional info: I suspect this is related to the kernel more than anything else.

Comment 1 Dave Jones 2012-02-27 21:56:17 UTC
looks like you don't have kernel-devel installed.

Comment 2 Dan Mashal 2012-02-27 23:53:37 UTC
I have kernel-devel installed.


Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Package kernel-devel-3.3.0-0.rc4.git1.4.fc17.x86_64 already installed and latest version
Nothing to do

I'm attempting to compile kernel3.3 rc5 from scratch with the 227 patch now, see if this helps.

Comment 3 Dan Mashal 2012-02-28 00:51:43 UTC
After compiling kernel3.3 rc5 and patch 0227 from scratch I am able to run "make oldconfig && make prepare", however it does not fix the problem either way. 

3.3 rc5 does seem to behave a little bit better. I was having issues with .ICEauthority as well. I could not login to gnome and was getting an error about not being able to write to .ICEauthority. I believe 3.3rc5 fixed this error but I'm not 100% sure.


Unrelated: #virtualbox on IRC told me to try the virtualbox source from their latest svn trunk. I did so and it will not compile. I will be filing a separate bug with them.

After checking out their latest svn trunk and running I had to run the following commands to get the ./configure script to work properly:


1) "yum install compat-gcc-34-c++ compat-gcc-34 compat-gcc-34-g77 dev86 iasl lib pulseaudio-devel pulseaudio-libs-devel glibc-devel.i686 libX11-devel.i686 libXt-devel.i686 libXext-devel.i686 libXmu-devel.i686 mesa-libGLU.x86_64"

2)Download makeself and copy makeself.sh and makeself-header.sh to /bin 

3) Run ./configure --with-gcc=gcc34 --with-g++=g++34 --with-makeself=/bin/makeself.sh

I was able to get the configure command to go through.

4) kmk build fails. log is here: http://fpaste.org/wLIB/

Any help would be appreciated as #fedora-qa on freenode is pretty dead.

Thanks,
Dan

Comment 4 Adam Williamson 2012-02-28 02:16:41 UTC
So I can reproduce this, but I don't think the error message Dan pasted is the actual issue. That error seems to show up every time VBox's scripts try and build a module, but most of the module compiles actually succeed anyway (as Dan's console output shows). Here's a more complete extract from the log:

    gcc -Wp,-MD,/tmp/vbox.0/.vboxsf.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include -I/usr/src/kernels/3.3.0-0.rc3.git7.2.fc17.x86_64/arch/x86/include -Iarch/x86/include/generated -Iinclude -include /usr/src/kernels/3.3.0-0.rc3.git7.2.fc17.x86_64/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -fshort-wchar -include /tmp/vbox.0/include/VBox/VBoxGuestMangling.h -I/lib/modules/3.3.0-0.rc3.git7.2.fc17.x86_64/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxsf/ -I/tmp/vbox.0/vboxsf/include -I/tmp/vbox.0/vboxsf/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0 -DRT_NO_EXPORT_SYMBOL -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(vboxsf.mod)" -D"KBUILD_MODNAME=KBUILD_STR(vboxsf)" -DMODULE -c -o /tmp/vbox.0/vboxsf.mod.o /tmp/vbox.0/vboxsf.mod.c
    ld -r -m elf_x86_64 -T /usr/src/kernels/3.3.0-0.rc3.git7.2.fc17.x86_64/scripts/module-common.lds --build-id -o /tmp/vbox.0/vboxsf.ko /tmp/vbox.0/vboxsf.o /tmp/vbox.0/vboxsf.mod.o
    make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/3.3.0-0.rc3.git7.2.fc17.x86_64/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
    test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
    echo; \
    echo " ERROR: Kernel configuration is invalid."; \
    echo " include/generated/autoconf.h or include/config/auto.conf are missing.";\
    echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
    echo; \
    /bin/false)
    mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
    make -f scripts/Makefile.build obj=/tmp/vbox.0
    gcc -Wp,-MD,/tmp/vbox.0/.vboxvideo_drm.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include -I/usr/src/kernels/3.3.0-0.rc3.git7.2.fc17.x86_64/arch/x86/include -Iarch/x86/include/generated -Iinclude -include /usr/src/kernels/3.3.0-0.rc3.git7.2.fc17.x86_64/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -fshort-wchar -include /tmp/vbox.0/include/VBox/VBoxGuestMangling.h -I/lib/modules/3.3.0-0.rc3.git7.2.fc17.x86_64/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxvideo/ -I/tmp/vbox.0/vboxvideo/include -I/tmp/vbox.0/vboxvideo/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DLOG_TO_BACKDOOR -DIN_MODULE -DIN_GUEST_R0 -DRT_NO_EXPORT_SYMBOL -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(vboxvideo_drm)" -D"KBUILD_MODNAME=KBUILD_STR(vboxvideo)" -c -o /tmp/vbox.0/vboxvideo_drm.o /tmp/vbox.0/vboxvideo_drm.c
    /tmp/vbox.0/vboxvideo_drm.c:100:5: warning: braces around scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:100:5: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:101:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:101:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:101:9: warning: initialization from incompatible pointer type [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:101:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:102:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:102:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:102:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:102:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:103:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:103:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:103:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:103:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:107:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:107:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:107:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:107:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:111:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:111:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:111:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:111:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:112:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:112:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:112:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:112:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:113:9: error: field name not in record or union initializer
    /tmp/vbox.0/vboxvideo_drm.c:113:9: error: (near initialization for ‘driver.fops’)
    /tmp/vbox.0/vboxvideo_drm.c:113:9: warning: excess elements in scalar initializer [enabled by default]
    /tmp/vbox.0/vboxvideo_drm.c:113:9: warning: (near initialization for ‘driver.fops’) [enabled by default]
    make[2]: *** [/tmp/vbox.0/vboxvideo_drm.o] Error 1
    make[1]: *** [_module_/tmp/vbox.0] Error 2
    make: *** [vboxvideo] Error 2

I think the compile errors are the *actual* problem here. I don't know whether they indicate some kind of GCC 4.7 change or a kernel interface change or what, but it seems like it's the source of the VBox module in question which needs to be updated here.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 Adam Williamson 2012-02-28 02:17:54 UTC
Created attachment 566183 [details]
full vbox build log

Comment 6 Josh Boyer 2012-02-28 02:39:48 UTC
This isn't a Fedora bug.  Contact the virtualbox people.

Comment 7 Dan Mashal 2012-02-28 03:03:15 UTC
I will be opening a bug with virtualbox. However, don't you think virtualbox should be included in the QA testing before a new release? 

Anyone that knows C could probably fix this problem in a few minutes.

Comment 8 Adam Williamson 2012-02-28 03:13:46 UTC
So this should really be reported upstream to https://www.virtualbox.org/newticket , I'm thinking, but I *really* don't feel like filling in https://myprofile.oracle.com/EndUser/faces/profile/createUser.jspx just so I can do that.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 9 Adam Williamson 2012-02-28 03:21:58 UTC
Dan: it's a bit off-topic for Bugzilla, but ideally yeah, it would be nice to add VirtualBox testing to the set of release validation tests we do. However, we wouldn't add it to the release criteria or make it a release blocking test, because the development team is broadly not of the opinion that it's practical to commit to supporting VirtualBox at release time. It would be an 'advisory' test - we already have a few of these, we write the test case and include it in the validation matrix, but it's not marked as being associated with any release level (Alpha, Beta or Final). This indicates that the test does not _have_ to pass (or in fact be run) in order for us to ship, but we ideally would like to run the test in order to know what the status of VBox is, and to make it work if possible.

QA's processes are very open and you could actually achieve this entirely by yourself. All you'd have to do is to write a test case (or multiple test cases) for assuring VirtualBox functionality, and then propose that they be added to the validation matrix.

For writing the test cases, you can refer to:

https://fedoraproject.org/wiki/QA:SOP_test_case_creation

you could also look at the existing KVM test cases as one possible broad example of how virt test cases should look (of course, you don't *have* to follow them):

https://fedoraproject.org/wiki/QA:Testcase_Install_to_Current_KVM
https://fedoraproject.org/wiki/QA:Testcase_Install_to_Previous_KVM

Once you have the test cases in hand, you can post a mail to the test mailing list, saying you've written these test cases and you'd like to propose including them in the release validation pages as advisory tests. Then other QA folks can take a look at the tests and suggest any improvements they can think of, and we'd likely then add them to the installation validation matrix (since the matrix pages and template are just wiki pages you could do this part yourself too, once there's a consensus on the list that the test cases are good and ready).

I'll create a trac ticket in QA trac just so we don't forget about this...

Comment 10 satellitgo 2012-02-28 03:41:28 UTC
Testing here;
VirtualBox 4.1.6 r74714 for OSX 
Looked at memory and processor speed requrirements....

http://wiki.sugarlabs.org/go/Community/Distributions/Fedora-SoaS#Fedora-17-Alpha-RC4-x86_64-Live-Desktop_install_to_VirtualBox

Comment 11 Alexey Pakseykin 2012-03-15 12:52:50 UTC
FYI

I had the same issue with the VirtualBox 4.1.8 + Fedora 17 Alpha.

I updated VirtualBox to 4.1.10 today (2012-03-13) - all modules compiled without problem.

Comment 12 Adam Williamson 2012-03-15 18:01:19 UTC
Yeah, 4.1.10 is advertised as compatible with X.org 1.12, and others have reported success with it too. Good news.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 13 Sergio Basto 2012-03-22 20:12:12 UTC
People as (co-) maintainer of virtualbox on rpmfusion could you open the bugs with virtualbox on https://bugzilla.rpmfusion.org/ ? please


Note You need to log in before you can comment on or make changes to this bug.