Bonjour,
ayant eu quelques problèmes avec ma carte nvidia sur les noyaux 4.X, je tourne actuellement avec ma buster de bureau sur un noyau 5.0.11-amd64 que j’ai compilé depuis kernel.org.
Les modules nvidia et virtualbox pour ce noyau là se compilent bien avec dkms, c’est OK.
Par contre, j’aimerais tester d’autres noyaux 5.X pour corriger quelques détails de matos mal gèré avec mon 5.0, mais quelle que soit la version de noyau en 5 que je prenne sur kernel.org, j’ai un plantage à la compil de nvidia et de virtualbox.
Et je n’arrive pas à comprendre pourquoi.
Si quelqu’un a une idée pour comprendre ce qui empêche la compilation, je vous évite le log de compil de nvidia énormes, mais voici ceux de virtualbox:
DKMS make.log for virtualbox-6.0.4 for kernel 5.3.1-amd64 (x86_64)
lundi 30 septembre 2019, 10:47:45 (UTC+0200)
make : on entre dans le répertoire « /usr/src/linux-headers-5.3.1-amd64 »
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/linux/SUPDrv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrvGip.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrvSem.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrvTracer.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPLibAll.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/alloc-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/initterm-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/memobj-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/mpnotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/powernotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjLinuxDoMmap’:
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:215:58: error: ‘MAP_SHARED’ undeclared (first use in this function); did you mean ‘VM_SHARED’?
ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
^~~~~~~~~~
VM_SHARED
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:215:58: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [scripts/Makefile.build:281: /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Attente des tâches non terminées....
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: rtR0MemKernelCopyLnxWorker()+0x16: redundant CLD
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/linux/SUPDrv-linux.o: warning: objtool: VBoxDrvLinuxIOCtl_6_0_4()+0x98: call to VBoxHost_RTR0MemUserCopyFrom() with UACCESS enabled
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnAll’:
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:287:18: error: void value not ignored as it ought to be
int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
^~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnOthers’:
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:341:8: error: void value not ignored as it ought to be
rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
^
make[2]: *** [scripts/Makefile.build:281: /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o] Error 1
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/var/lib/dkms/virtualbox/6.0.4/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
make[1]: *** [scripts/Makefile.build:497: /var/lib/dkms/virtualbox/6.0.4/build/vboxdrv] Error 2
make: *** [Makefile:1624: _module_/var/lib/dkms/virtualbox/6.0.4/build] Error 2
make : on quitte le répertoire « /usr/src/linux-headers-5.3.1-amd64 »
Je me demande si ce n’est pas une question de paramètre de config multiprocesseur de mon noyau custom qui est mal géré, mais ce que je ne comprends pas, c’est que pour compiler mon noyau, je fais un oldconfig depuis le .config de mon noyau 5.0, donc ça devrait coller en remettant les mêmes paramètres de compil noyau, non ?
Bref, si vous avez une idée…