Opened 17 years ago

Closed 17 years ago

#415 closed defect (worksforme)

vboxadd kernel module does not compile cause of missing files

Reported by: GlaDiaC Owned by:
Component: other Version: VirtualBox 1.4.0
Keywords: Cc:
Guest type: other Host type: other


vboxadd kernel module does not compile cause of missing files. The attached patch fixed all relevant files.

Attachments (1)

vbox-kmp-vboxadd.diff (3.0 KB ) - added by GlaDiaC 17 years ago.

Download all attachments as: .zip

Change History (8)

by GlaDiaC, 17 years ago

Attachment: vbox-kmp-vboxadd.diff added

comment:1 by Frank Mehnert, 17 years ago

Are you talking about x86_64? The vboxadd module is (currently) not meant for x86_64 systems.

comment:2 by GlaDiaC, 17 years ago

This doesn't matter, check the patch. Just copy all needed files and compile them...

comment:3 by Frank Mehnert, 17 years ago

priority: majorminor

Of course this does as vboxdrv compiles fine on i386 systems. x86_64 systems are not yet supported as guest systems.

comment:4 by GlaDiaC, 17 years ago

You don't understand, it doesn't compile under i586 nor on x86_64. The build system creates out/linux.amd64/release/bin/additions/src/vboxadd/ and copies the needed files there. But it doesn't copy all files. Some are missing. You you're not able to compile the module.

You should look at the patch attached to that bug instead of guessing what the patch does.

comment:5 by GlaDiaC, 17 years ago

kBuild calls the Makefile.kmk in src/VBox/Additions/linux/module/ and uses a file named src/VBox/Additions/linux/module/files_vboxadd to copy the needed sources and headers which are needed to compile vboxadd. The files get copied to out/linux.amd64/release/bin/additions/src/vboxadd/. It copies a the src/VBox/Additions/linux/module/Makefile.module to this directory too.

The problem is that in src/VBox/Additions/linux/module/files_vboxadd serveral headers and sources are missing. And they are missing in src/VBox/Additions/linux/module/Makefile.module too. So if you want to compile vboxadd in out/linux.amd64/release/bin/additions/src/vboxadd/ you are not able to compile it cause there are missing headers and source files. The attached patch adds the missing files. Then vboxadd will compile.

comment:6 by Frank Mehnert, 17 years ago

I think I understood you. But did you really try to compile the vboxadd module and the vboxvfs module on an i386 build system against an i386 Linux kernel? I bet not. You are right, these files compiled on an x86_64 system are not sufficient, but the heapsimple module is only needed on x86_64 systems. It is (currently) really not the purpose of the out/.../bin/additions/src/{vboxadd,vboxvfs} directories to be compiled on the build system. They are copied there to have them available for the guest kernel. We build the .iso for the guest additions from these files.

If you don't believe me, look why these headers (iprt/heap.h, iprt/spinlock.h, ...) are missing: They are included iff RTMEMALLOC_EXEC_HEAP is defined, and this is defined on AMD64 systems (or for doxygen).

comment:7 by Frank Mehnert, 17 years ago

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use