Arch Linux: In Konflikt stehende Dateien: js52: /usr/lib/libmozjs-52.so.0 existiert bereits im Dateisystem

Wer in den letzten Tagen unter der Linux-Distribution Arch Linux seine Pakete aktualisiert, wird mögicherweise mit der folgenden Fehlermeldung konfrontiert:

In Konflikt stehende Dateien: js52: /usr/lib/libmozjs-52.so.0 existiert bereits im Dateisystem
Das Problem ist in gewisser weise prikär: Die Abhängigkeit zu js52 darf nicht entfernt werden. Manche Nutzer berichten, dass sie sich dadurch ihr System zerschossen haben. Zur Lösung sollte die Datei entfernt und anschließend unbedingt ein erfolgreiches Update durchgeführt werden. Ansonsten besteht auch hier die Gefahr eines nicht mehr bootenden Systemes.

Wichtig ist auch, dass bei einer korrekten Installation zwei Dateien (libmozjs-52.so und libmozjs-52.so als Symlink) existieren müssen:

[daniel@antergos ~]$ ls -lha /usr/lib/libmozjs-52*
-rwxr-xr-x 1 root root 21M 10. Apr 11:21 /usr/lib/libmozjs-52.so
lrwxrwxrwx 1 root root  14 28. Okt 2017  /usr/lib/libmozjs-52.so.0 -> libmozjs-52.so

Falls nur eine Davon existiert, sollte das Paket zuvor neu installiert werden:

sudo pacman -S js52

Statt der Löschung empfiehlt es sich, die Datei zunächst testweise lediglich zu verschieben:

cd /usr/lib/
for file in libmozjs-52.so*; do sudo mv $file ${file}.old; done

Die alten Dateien werden mit dem Suffix .old versehen und wir können einen neuen Update-Versuch wagen. Wahlweise entweder über eine grafische Oberfläche oder via Shell:

sudo pacman -Syu

Nun sollte der Updateprozess erfolgreich abgeschlossen werden. Nach einem Neustart können wir die zuvor gesicherten Kopien löschen:

rm -rf /usr/lib/libmozjs-52.so*.old

Leave a Reply