Page 1 sur 1

[kernel/dkms] No kernel 4.12.5-1-ARCH headers (résolu)

Publié : sam. 12 août 2017, 16:25
par LuX
Bonjour

Depuis que j'ai installé virtualbox, qui utilise virtualbox-host-dkms, qui utilise dkms (je veux dire que les trois paquets ont été installés en même temps), j'ai un message d'erreur à chaque mise à jour. Manifestement ça n'empêche pas mon système de fonctionner, mais j'aimerais bien savoir ce que je devrais faire en réponse à ce message d'erreur.

Par exemple aujourd'hui, avec quelques lignes de contexte :

Code : Tout sélectionner

[2017-08-12 13:45] [ALPM] upgraded yaourt (1.8.1-1 -> 1.9-1)
[2017-08-12 13:45] [ALPM] upgraded youtube-dl (2017.07.02-1 -> 2017.08.09-1)
[2017-08-12 13:45] [ALPM] upgraded zeromq (4.2.1-1 -> 4.2.2-1)
[2017-08-12 13:45] [ALPM] transaction completed
[2017-08-12 13:45] [ALPM] running '70-dkms-install.hook'...

C'est là ---> [2017-08-12 13:45] [ALPM-SCRIPTLET] ==> No kernel 4.12.5-1-ARCH headers. You must install them to use DKMS!

[2017-08-12 13:45] [ALPM] running '90-linux.hook'...
[2017-08-12 13:45] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
[2017-08-12 13:45] [ALPM-SCRIPTLET]   -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
[2017-08-12 13:45] [ALPM-SCRIPTLET] ==> Starting build: 4.12.5-1-ARCH
Le wiki sur dkms précise :
Note: Il vous faut installer les en-têtes des noyaux pour lesquels vous voulez compiler les modules (linux-headers, linux-lts-headers, ...).
Perso je ne veux compiler rien du tout :) mais puisque ça semble correspondre au message d'erreur je veux bien installer l'un de ces paquets linux-***-headers. Mais lequel ? Il n'y en a qu'un cité parmi les dépendances de virtualbox à dkms, c'est linux-api-headers. Or il est déjà installé (et c'est le seul installé) :

Code : Tout sélectionner

$ pactree virtualbox | grep headers
│ ├─linux-api-headers

 $ pacman -Ss linux.*headers
core/linux-api-headers 4.10.1-1 [installé]
    Kernel headers sanitized for use in userspace
core/linux-headers 4.12.5-1
    Header files and scripts for building modules for Linux kernel
core/linux-lts-headers 4.9.42-1
    Header files and scripts for building modules for Linux-lts kernel
extra/linux-zen-headers 4.12.5-1
    Header files and scripts for building modules for Linux-zen kernel
community/aarch64-linux-gnu-linux-api-headers 4.11-1
    Kernel headers sanitized for use in userspace (aarch64-linux-gnu)
community/kernel-headers-musl 3.12.6_5-1
    Linux kernel headers sanitized for use with musl libc
Dois-je en installer un autre ? Dois-je désinstaller celui-là ? Ou le message d'erreur vient-il d'autre chose ?

Par ailleurs, le wiki francophone précise qu'on peut/doit activer le service dkms (systemctl enable dkms) et le wiki anglophone qu'on peut lister "the current status of modules, versions and kernels within the tree" avec la commande 'dkms status'. Or 'dkms status' ne répond rien, et le service dkms semble inconnu de systemctl :

Code : Tout sélectionner

$ dkms status

$ systemctl status dkms
Unit dkms.service could not be found.
Une suggestion ?

Re: [kernel] No kernel 4.12.5-1-ARCH headers

Publié : sam. 12 août 2017, 17:37
par jean_no
Salut
No kernel 4.12.5-1-ARCH headers.
et
core/linux-headers 4.12.5-1
Header files and scripts for building modules for Linux kernel
Euh, c'est écrit clairement.
Tu dois installé linux-headers 4.12.5-1:

Code : Tout sélectionner

sudo pacman -Syu linux-headers
Perso je ne veux compiler rien du tout...
C'est le rôle de dkms et de virtualbox-host-dkms de compiler le module de virtualbox

A+

Re: [kernel] No kernel 4.12.5-1-ARCH headers

Publié : mer. 16 août 2017, 20:59
par LuX
Bonjour

Merci pour ta réponse.

Ce n'est pas clair pour moi qu'il faille installer linux-headers plutôt que linux-lts-headers, linux-api-headers ou un autre. Je ne comprend d'ailleurs pas pourquoi linux-headers n'est une dépendance de virtualbox, s'il est nécessaire à son bon fonctionnement.

En tout cas le message d'erreur a bien disparu après installation de linux-headers. Je passe le sujet en "résolu".
Merci encore.