J'essaie de réparer un ancien programme, les problèmes précédents que j'ai rencontrés peuvent être trouvés sur
Modversions manquantes.h
Quand je make
le programme, il me donne l'erreur suivante,
kaodv-mod.c:22:27: fatal error: linux/version.h: No such file or directory
compilation terminated.
Alors j'ai couru
find / -name version.h
qui revient
/opt/VBoxGuestAdditions-4.3.2/src/vboxguest-4.3.2/vboxguest/include/VBox/version.h
/usr/include/linux/dvb/version.h
/usr/include/linux/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/config/arch/want/ipc/parse/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/generated/uapi/linux/version.h
/usr/src/linux-headers-3.8.0-29/include/uapi/linux/dvb/version.h
/usr/src/linux-headers-3.8.0-29/include/xen/interface/version.h
Cela prouve clairement que linux/version.h
est présent
Pour résoudre ce problème, dois-je changer
#include<linux/version.h>
dans
#include</usr/include/linux/version.h>
Ou est-il possible d'apporter des modifications au Makefile
PS :Makefile
Réponse acceptée :
Vous devez d'abord installer les en-têtes du noyau
sudo apt-get install linux-headers-$(uname -r)
Si cela ne fonctionne pas, essayez ceci également
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h
Modifié pour types.h
:
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/uapi/asm-generic/types.h /lib/modules/$(uname -r)/build/include/uapi/linux/types.h