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 |
Description
vboxadd kernel module does not compile cause of missing files. The attached patch fixed all relevant files.
Attachments (1)
Change History (8)
by , 17 years ago
Attachment: | vbox-kmp-vboxadd.diff added |
---|
comment:1 by , 17 years ago
comment:2 by , 17 years ago
This doesn't matter, check the patch. Just copy all needed files and compile them...
comment:3 by , 17 years ago
priority: | major → minor |
---|
Of course this does as vboxdrv compiles fine on i386 systems. x86_64 systems are not yet supported as guest systems.
comment:4 by , 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 , 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 , 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 , 17 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Are you talking about x86_64? The vboxadd module is (currently) not meant for x86_64 systems.