Sorry für den folgenden Roman, aber bevor ich meine Fragen stelle, möchte ich bitte erst mal das Problem beschreiben. Also:
Problem: Ich habe hier eine openSUSE Leap 15.4 auf einem Laptop laufen. Aus Hardware-Gründen nutze ich die Backport Kernels aus
Heute habe ich den Kernel von
Danach startete die Virtualbox nicht mehr. Fehlermeldung: Das
Ein Blick in
Zur 'Lösung' habe ich Folgendes unternommen: (1) Das Repo
Jetzt läuft die VirtualBox wieder.
Fragen:
Problem: Ich habe hier eine openSUSE Leap 15.4 auf einem Laptop laufen. Aus Hardware-Gründen nutze ich die Backport Kernels aus
Kernel:/stable:/Backport/standard/(und Kernel:/stable:/Backport:/KMP/standard/). Außerdem läuft auf dem Ding auch eine Virtualbox (die Version 7.0.8_SUSE r156879 von openSUSE).Heute habe ich den Kernel von
6.3.8-lp154.5.1.ge044c8e.x86_64 auf 6.4.0-lp154.8.g192b657-default upgedated.Danach startete die Virtualbox nicht mehr. Fehlermeldung: Das
vboxdrv sei nicht installiert und im journalctl -b bekam ich Fehler
Code:
systemd[1]: vboxdrv.service: Failed with result 'exit-code'.
systemd[1]: Failed to start VirtualBox Linux kernel module.
/lib/modules/6.4.0-lp154.8.g192b657-default/misc/ zeigte, dass das vboxdrv Module gar nicht kompiliert war und ein Versuch das Kernel Module händisch mit /usr/sbin/vboxconfig zu kompilieren zeigte dann auch in /var/log/virtualbox.log das Problem: Der 6.4.0-lp154.8.g192b657-default wird mit gcc11 kompiliert, die Leap 15.4 hat defaultmäßig aber den gcc7 und das scheint just ab dieser Kernel Version bei diversen Kompiler-Switches Schwierigkeiten zu machen.Zur 'Lösung' habe ich Folgendes unternommen: (1) Das Repo
devel:/gcc/openSUSE_Leap_15.4/ zusätzlich eingebunden und daraus den gcc11 installiert. (2) Unter /usr/bin den Symlink gcc-> gcc-7 auf gcc -> gcc-11 geändert. (3) Für dieses eine Mal das vboxdrv Module mit /usr/sbin/vboxconfig von Hand kompiliert - was dann auch fehlerfrei klappte. Die Hoffnung wäre, dass es beim nächsten Kernel update dann auch wieder automatisch kompiliert wird.Jetzt läuft die VirtualBox wieder.
Fragen:
- Hätte ich damit rechnen müssen, dass ein mit Backport Kernels betriebenes System irgendwann Schwierigkeiten mit den gcc Versionen bekommt? Oder kann/soll man das durch eine bestimmte clevere Kombination aus Repos zusätzlich zu den Kernel Backport Repos verhindern? Oder sollte man erwarten, dass die Distro-Maintainer:innen solche Inkompatibilitäten eigentlich nicht zulassen ... was dann heißen würde, dass es sich um einen kleinen Bug handelt (was wahrscheinlich eine fromme Hoffnung ist)?
- Ist meine 'Billigheimer'-Variante mit dem Ändern des Symlinks nur für das gcc Executable ausreichend, oder sollte man da etwas mit
update-alternativesmachen?