dans une machine récente (Debian 10) hostée par un vieux coucou toujours fidèle (Debian 7 Wheezy 32 bits)
Bonsoir,
Et ça coince à l’exécution du script sh VBoxLinuxAdditions.run
avec un message m’engageant à jeter un œil au log /var/lib/dkms/vboxguest/4.2.8/build/make.log
, ce qui donne (un poil allégé) :
DKMS make.log for vboxguest-4.2.8 for kernel 4.19.0-18-686 (i686)
samedi 19 février 2022, 13:18:36 (UTC+0100)
make : on entre dans le répertoire « /usr/src/linux-headers-4.19.0-18-686 »
CC [M] /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.o
In file included from /usr/src/linux-headers-4.19.0-18-common/include/linux/module.h:18,
from /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/r0drv/linux/the-linux-kernel.h:78,
from /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:26:
6 fois cette erreur
/usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h:233:24: note: in definition of macro ‘module_param_call’
{ .flags = 0, .set = _set, .get = _get }; \
^~~~
6 fois celle-ci
/usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h:233:37: note: in definition of macro ‘module_param_call’
{ .flags = 0, .set = _set, .get = _get }; \
^~~~
6 fois celle-là
/var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:1059:35: error: initialization of ‘int (*)(const char *, const struct kernel_param *)’ from incompatible pointer type ‘int (*)(const char *, struct kernel_param *)’ [-Werror=incompatible-pointer-types]
module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
et 6 fois ça
/var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:1059:67: error: initialization of ‘int (*)(char *, const struct kernel_param *)’ from incompatible pointer type ‘int (*)(char *, struct kernel_param *)’ [-Werror=incompatible-pointer-types]
module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
J’avoue que je donne ma langue au chat, et je ne sais absolument pas quoi (= avec quels mots-clé) chercher sur le web…
La ligne 1059 de /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c
dans son contexte :
/*
* Define module parameters.
*/
module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);
et la ligne 233 de /usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h
:
/* Obsolete - use module_param_cb() */
#define module_param_call(name, _set, _get, arg, perm) \
static const struct kernel_param_ops __param_ops_##name = \
{ .flags = 0, .set = _set, .get = _get }; \
Face à ça je suis comme une poule qui aurait trouvé un couteau, alors grand merci pour le coup de main.