vmware legt Programme unter ubuntu lahm

Programme starten nicht mehr

Bei einem Update Versuch von Ubuntu 16.04 auf 16.10 bekam ich die Meldung dass die boot Partition 15 MByte zu klein ist. Zum Glück habe ich die swap Partition dahinter. Diese kann man ja gut etwas verkleinern und mehr Platz für die boot Partition schaffen.

gpartd ist ja ein Tool mit dem man die Partionsgröße auch änden kann ohne dass alle Daten verloren gehen. Leider ist der Aufruf nicht so einfach möglich:

sudo gparted
/usr/sbin/gpartedbin: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgiomm-2.4.so.1: undefined symbol: _ZN4Glib11VariantTypeD1Ev

Die Ursache

Google ist immer die erste Anlaufstelle für solche Probleme. Es zeigt sich, dass vmware eine eigene Version einer Systemlibrary mitbringt, die wohl nicht ganz auf dem aktuellen Stand ist und Symbole nicht enthält, die von anderen Programmen benötigt werden. Die Datei

/etc/ld.so.conf.d/LD_LIBRARY_PATH.conf

enthält den Pfad zu der Library

/usr/lib/vmware/lib/libglibmm-2.4.so.1

Das ist also der Übeltäter.

Der Fix für die ubuntu Programme

Wenn die vmware library nicht mehr geladen wird, kann sie auch keinen Ärger mehr anrichten. Also lösche ich die Datei, die dafür sorgt dass sie mit eingebunden wird. Danach muss der Cache für die dynamischen libraries neu erstellt werden.

sudo rm /etc/ld.so.conf.d/LD_LIBRARY_PATH.conf
sudo ldconfig

Die Theorie stimmt und jetzt funktioniert gparted wieder.

Was ist jetzt mit vmware?

Ein kurzer Start von vmware zeigt keine Nebenwirkungen, aber ich weiß nicht ob die Unterschiede später zum Tragen kommen. Sicherheitshalber kann man die Library für vmware weiter verwenden. Damit kann man mit dem Befehl

sudo vim `which vmware`

folgende Zeile in das vmware start script eingefügt werden:

export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH

Ich habe den Befehl recht weit vorne in das script eingefügt in der Nähe der anderen export Befehle. Wichtig ist nur dass das gesetzt wird bevor das eigentliche vmware Programm gestartet wird.

Für den vmware player dürfte das entsprechend gehen. Da muss nur das vmware-player script geändert werden.

Veröffentlicht in Linux Getagged mit: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*