Pagina 1 di 1

[RISOLTO] Problema virtualbox

Inviato: gio nov 24, 2011 23:45
da N1cuz
Salve ho appena compilato il kernel 3.1.1 su slackware 13.1, ma quando sono andato ad eseguire lo startup rc.vboxdrv la compilazione del modulo è fallita, posto li file di log

Codice: Seleziona tutto

make KBUILD_VERBOSE=1 -C /lib/modules/3.1.1-smp/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/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i486-slackware-linux/4.4.4/include -I/usr/src/linux-3.1.1/arch/x86/include -Iarch/x86/include/generated -Iinclude  -include /usr/src/linux-3.1.1/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 -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -I/lib/modules/3.1.1-smp/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxdrv/ -I/tmp/vbox.0/vboxdrv/include -I/tmp/vbox.0/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/linux/SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c
In file included from /tmp/vbox.0/include/VBox/types.h:30,
                 from /tmp/vbox.0/linux/../SUPDrvInternal.h:35,
                 from /tmp/vbox.0/linux/SUPDrv-linux.c:31:
/tmp/vbox.0/include/iprt/types.h:97:31: error: linux/autoconf.h: No such file or directory
make[2]: *** [/tmp/vbox.0/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make: *** [vboxdrv] Error 2


Non ho disinstallato il pacchetto degli heades del kernel ed ho già provato ad eseguire il make prepare, ma nulla.

Re: Problema virtualbox

Inviato: ven nov 25, 2011 16:06
da targzeta
Ho provato a compilare i driver per il mio 3.1.2 ed è andato tutto bene. Quindi presumo che il problema sia solo tuo :).

Gli include di cui parla il commento non sono nel pacchetto degli headers del kernel. Prova ad andare nella directory:

Codice: Seleziona tutto

/lib/modules/3.1.1-smp/build
e poi controlla che esistano i file:

Codice: Seleziona tutto

include/generated/autoconf.h
include/config/auto.conf


Facci sapere,
Emanuele

Re: Problema virtualbox

Inviato: ven nov 25, 2011 16:51
da N1cuz
Innanzitutto grazie Emanuele, per quanto riguarda i file:

Codice: Seleziona tutto

/lib/modules/3.1.1-smp/build/include/generated/autoconf.h

è presente, l'atro no.

Re: Problema virtualbox

Inviato: ven nov 25, 2011 17:02
da targzeta
Allora il problema potrebbe essere questo. Hai già eseguito entrambi i comandi:

Codice: Seleziona tutto

make oldconfig && make prepare
?

Emanuele

Re: Problema virtualbox

Inviato: ven nov 25, 2011 17:16
da N1cuz
purtroppo si, ma senza esito

Re: Problema virtualbox

Inviato: ven nov 25, 2011 17:23
da targzeta
E' molto strano che non abbia creato il file. Come prima opzione ti direi di copiarti il .config da qualche parte e poi rifare tutto, ovvero:

Codice: Seleziona tutto

make mrproper
make
ovviamente dopo il 'make mrproper' devi riportare il .config a posto prima di dare il 'make'.

Ma che versione hai di VirtaulBox?

Emanuele

Re: Problema virtualbox

Inviato: ven nov 25, 2011 17:51
da N1cuz
ho installato l'ultima versione disponibile nel repository di slacky, adesso provo a rifare tutto.

Re: Problema virtualbox

Inviato: ven nov 25, 2011 19:13
da N1cuz
Ho riprovato a rieseguire il make ma nulla da fare, non so dove sbattere la testa.

Re: Problema virtualbox

Inviato: ven nov 25, 2011 22:55
da miklos
non ho capito che versione stai installando, ma prova un po' con l'ultimo installer preso dal sito ufficiale.
se il problema scompare allora in questo caso ti trovi di fronte ad una versione che non compilerà mai con questo

Offtopic: colgo l'occasione, anzichè aprire un nuovo post, per chiedere un informazione. da quando uso virtualbox non l'ho mai compilato dal sorgente perchè vi era una differenza tra la versione open e quella binaria, quindi non mi sono mai posto piu' il problema.
ora invece sono andato sul sito è le cose mi sembrano cambiate. ho letto che la versione binaria è gpl2 quindi in sostanza quello che uso attualmente lo potrei benissimo pacchettizzare e compilare ad-hoc per la mia macchina senza avere piu' alcun handicap evidente! è corretto?!?!?!?!

Re: Problema virtualbox

Inviato: sab nov 26, 2011 0:11
da targzeta
N1cuz ha scritto:Ho riprovato a rieseguire il make ma nulla da fare, non so dove sbattere la testa.
Se è per questo basta un mobile qualsiasi :).

Scherzi a parte. Dal tuo profilo mi sembra di capire che usi la 13.1. Ho scaricato virtualbox dal repository per la 13.1 e anche a me ha dato quell'errore - in effetti è un po' vecchiotta quella versione. Comunque se vuoi risolvere il problema puoi:
  • andare nella directory: /usr/lib/virtualbox/src
  • eseguire, evidentemente come root, il comando seguente:

    Codice: Seleziona tutto

    grep -l autoconf.h -r *| xargs sed -i '/linux\/autoconf.h/s/linux/generated/'
questo dovrebbe bastare. C'è da dire però che ha me è presenta anche il file 'include/config/auto.conf' e quindi il warning iniziale non l'ho mai ricevuto.

Emanuele

Re: Problema virtualbox

Inviato: sab nov 26, 2011 2:34
da Plaoo
Stessa cosa mi è successa da poco con fedora 16, adesso scusami ma non ricordo bene come ho risolto. Se non erro ho dovuto specificare la directory dove si trovano i sorgenti del kernel come variabile d'ambiente.

Codice: Seleziona tutto

export KERN_DIR="/usr/src/kernels/..."
roba simile. Provaci, anche se non sono sicuro al 100%

Re: Problema virtualbox

Inviato: sab nov 26, 2011 9:35
da N1cuz
spina ha scritto:
N1cuz ha scritto:Ho riprovato a rieseguire il make ma nulla da fare, non so dove sbattere la testa.
Se è per questo basta un mobile qualsiasi :).

Scherzi a parte. Dal tuo profilo mi sembra di capire che usi la 13.1. Ho scaricato virtualbox dal repository per la 13.1 e anche a me ha dato quell'errore - in effetti è un po' vecchiotta quella versione. Comunque se vuoi risolvere il problema puoi:
  • andare nella directory: /usr/lib/virtualbox/src
  • eseguire, evidentemente come root, il comando seguente:

    Codice: Seleziona tutto

    grep -l autoconf.h -r *| xargs sed -i '/linux\/autoconf.h/s/linux/generated/'
questo dovrebbe bastare. C'è da dire però che ha me è presenta anche il file 'include/config/auto.conf' e quindi il warning iniziale non l'ho mai ricevuto.

Emanuele

Grazie mille Emanuele, adesso sono riuscito a ricompilare il modulo di vbox (ea a risparmiare un moblie dato che la mia testa è parecchio dura ;) )

Plaoo ha scritto:Stessa cosa mi è successa da poco con fedora 16, adesso scusami ma non ricordo bene come ho risolto. Se non erro ho dovuto specificare la directory dove si trovano i sorgenti del kernel come variabile d'ambiente.

Codice: Seleziona tutto
export KERN_DIR="/usr/src/kernels/..."

roba simile. Provaci, anche se non sono sicuro al 100%

Non posso confermarti se settare la variabile d'ambiente risolva il problema perchè onestamente non ci ho provato, ho risolto con il metodo suggerito da Ema e mi son fermato, comunque ti ringrazio.