I have the following in my /etc/apt/sources.list: deb http://ftp.us.debian.org/debian/ unstable main deb http://ftp.us.debian.org/debian/ testing main
deb http://ftp.us.debian.org/debian/ stable main deb-src http://ftp.us.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main deb-src http://security.debian.org/ stable/updates main # squeeze-updates, previously known as 'volatile' deb http://ftp.us.debian.org/debian/ stable-updates main deb-src http://ftp.us.debian.org/debian/ stable-updates main I'm running ... westk@westek:~$ uname -a Linux westek 3.10-3-amd64 #1 SMP Debian 3.10.11-1 (2013-09-10) x86_64 GNU/Linux When I try to install virtualbox (more specifically, virtualbox-dkms), it fails to compile the module, with this error: Error! Bad return status for module build on kernel: 3.10-3-amd64 (x86_64) Consult /var/lib/dkms/virtualbox/4.1.18/build/make.log for more information. That log file says: westk@westek:~$ cat /var/lib/dkms/virtualbox/4.1.18/build/make.log DKMS make.log for virtualbox-4.1.18 for kernel 3.10-3-amd64 (x86_64) Mon Sep 30 09:42:05 CDT 2013 make: Entering directory `/usr/src/linux-headers-3.10-3-amd64' LD /var/lib/dkms/virtualbox/4.1.18/build/built-in.o LD /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/built-in.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/linux/SUPDrv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/SUPDrv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/SUPDrvSem.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/alloc-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/initterm-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/memobj-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/mpnotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/powernotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeMapUser’: /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1451:38: error: ‘VM_RESERVED’ undeclared (first use in this function) /var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1451:38: note: each undeclared identifier is reported only once for each function it appears in make[4]: *** [/var/lib/dkms/virtualbox/4.1.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1 make[3]: *** [/var/lib/dkms/virtualbox/4.1.18/build/vboxdrv] Error 2 make[2]: *** [_module_/var/lib/dkms/virtualbox/4.1.18/build] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 make: Leaving directory `/usr/src/linux-headers-3.10-3-amd64' I found a forum wherein a certain lwfinger offered a fix. Following his example, I edited /var/lib/dkms/virtualbox/4.1.18/source/vboxdrv/r0drv/linux/memobj-r0drv-linux.c, and starting at line 68, I added the following four lines: /* fix for 3.7+ kernels. The problem is that the symbol VM_RESERVED was removed from kernel 3.7. */ #ifndef VM_RESERVED #define VM_RESERVED (VM_DONTEXPAND | VM_DONTDUMP) #endif But I don't know how to tell the system to try to recompile the module; I tried aptitude reinstall virtualbox-dkms but when that failed, I realized that I had overwritten my changes with the resintall. So I changed the file again and tried the command "make", but that produced a different result than what I'd been seeing, including new error messages about MAX_PRIO and MAX_RT_PRIO being undeclared. So I added similar code segments for these two variables that after considerable googling I found in /usr/src/linux-headers-3.10-3-common/include/linux/sched/rt.h #define MAX_USER_RT_PRIO 100 #define MAX_RT_PRIO MAX_USER_RT_PRIO #define MAX_PRIO (MAX_RT_PRIO + 40) #define DEFAULT_PRIO (MAX_RT_PRIO + 20) But then whenever I tried "make" from several of the directories in the /var/lib/dkms... tree, alI I ever go was "no targets specified" or similar. Yes, I absolutely don't know what I'm doing, but as you can probably tell, I'm not terribly afraid to pull the trigger just to see what gets shot. Unfortunately, I haven't found the right combination yet to allow me to run virtualbox on my 3.10 kernel. Any suggestions? Thanks! -- Kent West <")))>< Westing Peacefully - http://kentwest.blogspot.com