Bug #1969
Virtualbox refuse de compiler ses modules en chroot si kernel serveur != i386
100%
Description
Tout est dans le titre, le chroot qui me permet de builder l'image du CD Live n'est pas utilisable pour compiler les modules DKMS !
Demandes liées
Historique
#1 Mis à jour par Eric Seigne il y a presque 13 ans
- % réalisé changé de 0 à 50
Bon, j'ai passé du temps dessus hier mais j'ai oublié de notifier ...
dpkg-reconfigure virtualbox-ose-guest-dkms Loading new virtualbox-ose-guest-3.2.8 DKMS files... Building only for 2.6.32-39-generic Building initial module for 2.6.32-39-generic Error! Bad return status for module build on kernel: 2.6.32-39-generic (x86_64) Consult the make.log in the build directory /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/ for more information.
Et le log dit ceci
DKMS make.log for virtualbox-ose-guest-3.2.8 for kernel 2.6.32-39-generic (x86_64) Mon Feb 27 10:13:42 UTC 2012 make: Entering directory `/usr/src/linux-headers-2.6.32-39-generic' LD /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/built-in.o CC [M] /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/VBoxGuest-linux.o In file included from /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/r0drv/linux/the-linux-kernel.h:34, from /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/VBoxGuest-linux.c:27: /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/types.h:166: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'uint128_t' /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/types.h:185: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int128_t' /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/types.h:340: error: expected specifier-qualifier-list before 'uint128_t' In file included from /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/VBoxGuest-linux.c:35: /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicXchgPtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:467: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:467: warning: cast to pointer from integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicXchgR0Ptr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:499: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:499: warning: cast to pointer from integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicCmpXchgPtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:856: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:856: warning: cast from pointer to integer of different size In file included from /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/VBoxGuest-linux.c:35: /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicCmpXchgExPtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:1183: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:1183: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicReadPtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:1911: warning: cast to pointer from integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicUoReadPtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:1929: warning: cast to pointer from integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicWritePtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:2295: warning: cast from pointer to integer of different size /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h: In function 'ASMAtomicUoWritePtr': /var/lib/dkms/virtualbox-ose-guest/3.2.8/build/include/iprt/asm.h:2314: warning: cast from pointer to integer of different size make[2]: *** [/var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest/VBoxGuest-linux.o] Error 1 make[1]: *** [/var/lib/dkms/virtualbox-ose-guest/3.2.8/build/vboxguest] Error 2 make: *** [_module_/var/lib/dkms/virtualbox-ose-guest/3.2.8/build] Error 2 make: Leaving directory `/usr/src/linux-headers-2.6.32-39-generic'
En bref il fait un uname pour savoir pour quel processeur il doit compiler ... et comme on est dans un chroot il utilise la version kernel du serveur (amd64) alors qu'on est dans un chroot i386 et paf.
Donc à faire un rsync -> pc i386 pour compiler dessus et ensuite retour du rsync.
#2 Mis à jour par Eric Seigne il y a presque 13 ans
- Statut changé de Assigned - En cours à Fixed - Corrigé - Implémenté
- % réalisé changé de 50 à 100
Le solution est un peu énervée et il faudra s'en souvenir !!!
- sur le serveur dev: ajout d'un export NFS en accès complet root
#pour recompiler DKMS VBOX #/home/devel/lucid/abuledu-client/chroot/ 192.168.100.200(rw,no_root_squash,no_subtree_check)
- ensuite on boote sur le DVD Live "foireux" (au niveau DKMS j'entends)
- on monte le partage nfs
apt-get install nfs-common mount -t nfs dev:/home/devel/lucid/abuledu-client/chroot/ /mnt chroot /mnt dpkg-reconfigure virtualbox-ose-guest-dkms
- on sort du chroot et on stoppe le serveur NFS sur dev pour éviter les surprises ...
et c'est tout :)
#3 Mis à jour par Eric Seigne il y a presque 13 ans
Bon, solution pourrie mais qui marche a tous les coups, j'ai remplacé "uname -m" par "i686" chaque fois que c'était présent dans /usr/sbin/dkms et mis arch="i686" dans /usr/lib/dkms/dkms_autoinstaller ...
C'est fait manuellement, je n'ai pas refait le paquet dkms pour ça ...