Ubuntu 17.10 Upgrade brach VMWare Workstation 12.5

10

Hallo, nach dem Upgrade auf Ubuntu 17.10 startet VMware jetzt nicht mehr.

Ich bekomme die Nachricht:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'

Mir ist bekannt, dass Patches verfügbar sind, und ich versuche, diese anzuwenden und neu zu kompilieren. Ich habe die Lösung unter https://communities.vmware.com/thread/571370 ausgeführt :

cd ~  
#Copy the vmmon source tar ball to your temporary location
cp /usr/lib/vmware/modules/source/vmmon.tar .   
#Extract the tar ball
tar xf vmmon.tar  

#Download the modified file that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c   

#Wrap up the newly modified files into a tar ball replacing the original one
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only  

#Rebuild the VMware kernel modules
sudo vmware-modconfig --console --install-all  
Failed to get gcc information. 
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...

Leider schlägt vmware-modconfig aufgrund einer Abhängigkeit von einer bestimmten gcc-Version fehl. Bin ich auf dem richtigen Weg? Jede Hilfe bei diesem Problem wäre sehr dankbar.

BEARBEITEN Vielen Dank Steve, die unten stehende VMware hat wieder funktioniert. Ich habe kleinere Korrekturen aufgenommen. Getestet und bestätigt, dass ich eine virtuelle Maschine ausführen kann.

sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
tar xvf vmmon.tar 
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit

# run vmware as normal user
/usr/lib/vmware/bin/vmware
user1330734
quelle
2
Im Allgemeinen wird die Virtualisierung von Drittanbietern mit neuen Kerneln und neuen Versionen etwas zurückbleiben. Dies scheint VMware mehr als Virtualbox zu betreffen. Da vmware eine geschlossene Quelle ist, müssen Sie sie fragen. Als mögliche Alternative - aus diesem Grund versuche ich so viel wie möglich, KVM oder LXC zu verwenden (obwohl ich immer noch der Meinung bin, dass LXC nicht für Produktionsserver bereit ist). KVM + Gewürz ist sehr schnell (FWIW). Ich gehe davon aus, dass mit VMware je nach Komplexität des Problems zwischen 1 und 3 Tagen oder 3 bis 4 Wochen gearbeitet werden kann.
Panther
Der Patch, den Sie anwenden möchten, dient zur Behebung eines Fehlers bei der Speicherbehandlung und nicht für das Problem im Zusammenhang mit der von Ihnen erwähnten Fehlermeldung. AFAIK gibt es noch keine Lösung für dieses Problem. Es gibt einen Fehlerbericht auf dem Launchpad: bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
user749720
Konnten Sie das Problem "Fehler beim Abrufen der GCC-Informationen" beheben?
Oğuzhan Topçu
Leider nicht, ich führe derzeit ein Skript aus, das sudo ausführt insmodund vmware-networksbefiehlt, und dann vmware binary als normalen Benutzer.
user1330734
Ich habe Lubuntu 18.04 - die Methode von Stephen Wassell hat nicht funktioniert. Die Lösung von Tokam - Upgrade auf VMWare 14 hat auch nicht funktioniert - aufgrund der Richtlinie von VMWare, die nur die neueste Hardware unterstützt. Die Methode von John hat funktioniert - aber nur, wenn ich den vmplayer als su starte. Andernfalls erhalte ich zuverlässig eine Meldung: Zeile 106: 29487 Speicherfehler (Speicherauszug geschrieben) "$ BINDIR" / vmware-modconfig --appname = "VMWaer Player! --Ivon =" vmware-player "
Tobias Trappe

Antworten:

12

Ich habe es geschafft, VMWare Workstation 12.5.7 unter Kubuntu 17.10 zum Laufen zu bringen.

In /usr/lib/vmware/modules/source:

  1. Auszug vmmon.tarundvmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    Dies wird erstellen vmmon-onlyund vmnet-onlyVerzeichnisse.

  2. Holen Sie sich die gepatchten hostif.c

    sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
    

    (Hinweis: https://communities.vmware.com/thread/571370 - enthält auch einen ähnlichen Fix für VMWare Workstation 14)

  3. Bearbeiten vmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. Lauf

    make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
    ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
  5. Als Benutzer:

    /usr/lib/vmware/bin/vmware
    

    (um zu verhindern, dass es läuft vmware-modconfig)

Stephen Wassell
quelle
Genial, tolle Arbeit Stephen, deine Antwort war extrem einfach zu befolgen. Ich habe die Schritte explizit wiederholt und in meiner obigen Fragebearbeitung eine geringfügige Korrektur für Schritt 8 hinzugefügt. Prost!
user1330734
Ich bin froh, dass es bei dir funktioniert hat! Ich habe auch meinen Schritt 8 korrigiert, danke für die Korrektur. Hoffe, dass dies alles über Neustart bestehen bleibt ...
Stephen Wassell
1
/usr/lib/vmware/bin/vmwareNochmals vielen Dank Stephen, ich bin alle gut, vorausgesetzt, ich beginne mit , sonst können VMware-Berichte GCC nicht finden.
user1330734
Vielen Dank für die Veröffentlichung! Das brachte mich wieder zum Laufen. Gibt es einen Ort, an dem wir nachsehen können, wo sich VMWare mit einer Lösung befindet?
Eric
4
Workstation 14.1.0 ist jetzt freigegeben, wodurch dieses Problem behoben wird. my.vmware.com/group/vmware/…
Stephen Wassell
6

Ich habe ungefähr alle anderen Lösungen ausprobiert, aber nichts hat funktioniert. Aber diese Schritte funktionierten für mich unter Ubuntu 18.04, VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

Referenz:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29

John
quelle
2
das funktioniert super, vielen Dank! Ich habe nach einer Lösung für Ubuntu 18.04 gesucht, seit es herauskommt!
Stam Kaly
1
Kann bestätigen, dass dies für Ubuntu 18.10 mit VMWare Workstation Pro 12.5.9 funktioniert.
Anonnoir
Diese Lösung funktionierte für mich unter Linux Mint 19.2 64bit mit vmware workstation pro 12.5.9.
Lexib0y
2

Der von: Stephen beschriebene Bugfix führt für viele zu einem anderen Fehler: "GCC-Informationen konnten nicht abgerufen werden."

Die einfachste Lösung ist das Herunterladen der VMware Player Workstation 14.1 .

Durch die Installation anstelle der Version 12.5 werden die oben beschriebenen Probleme behoben.

Dazu einfach laufen

chmod +x VMware-Player-14.1.1-7528167.x86_64.bundle
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

Befolgen Sie die Anweisungen im grafischen Installationsprogramm.

Tokam
quelle
2
das erfordert ein Lizenz-Upgrade
shadowbq
Starten Sie /usr/lib/vmware/bin/vmwarestattdessen mit, um "
Fehler
2
Ich denke, nicht kommerziell funktioniert es auch ohne dieses Lizenz-Upgrade
Tokam
2

Neben der Antwort von Stephen Wassell müssen Sie, wenn Sie noch die VM Workstation 12.5.x-Version ausführen, Ihre .kofür jeden Kernel-Patch neu kompilieren .

Möglicherweise wird dieser Fehler angezeigt: ( Ungültiges Modulformat )

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

Hier ist ein Tool, mit dem Sie die Kernelmodule für die Ubuntu-Flavour-Distributionen nach einem Kernel-Patch auf dem neuesten Stand halten können.

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

Ich habe auch einen einfachen Wrapper beigefügt.sh , mit dem Sie einen Ersatz zum Starten der VMware-Workstation verwenden können, damit Sie sicher sein können, dass die VMM-Netzwerk- und VM-Mon-Kernelmodule jedes Mal ordnungsgemäß geladen werden.

Hinweis: Dieses Skript erweitert nicht das 'tar' oder 'patch' der Quelldateien. Dies dient zum automatischen Neukompilieren der Kernelmodule nach einem Kernel-Patch gemäß den ursprünglichen Schritten von Stephen Wassell.

shadowbq
quelle