VMware am 18.04 installieren: vmmon konnte nicht erstellt werden

10

Ich versuche, VMware mit den Anweisungen unter https://help.ubuntu.com/community/VMware/Player zu installieren

Ich erhalte eine Fehlermeldung, die mich auffordert, in eine Protokolldatei zu schauen, die Folgendes enthält:

Extracting the vmmon source from "/usr/lib/vmware/modules/source/vmmon.tar".
Successfully extracted the vmmon source.
Building module with command "/usr/bin/make -j4 -C /tmp/modconfig-GoVdrH/vmmon-only auto-build HEADER_DIR=/lib/modules/4.15.0-22-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
Failed to build vmmon.  Failed to execute the build command.

Um herauszufinden, was genau falsch war, habe ich vmware-modconfig --console --install-alldie Befehlszeile ausgeführt und dabei folgende Fehler festgestellt:

./arch/x86/include/asm/processor-flags.h:39:0: note: this is the location of the previous definition
 #define CR3_PCID_MASK 0xFFFull

                      ^
/tmp/modconfig-3S1CBa/vmmon-only/linux/driver.c:256:12: error: ‘struct timer_list’ has no member named ‘data’
    tscTimer.data     = 0;
    unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
                               ^~~~~~~~~~~~~~~~~
                               global_numa_state
/tmp/modconfig-3S1CBa/vmmon-only/linux/driver.c: In function ‘init_module’:
/tmp/modconfig-3S1CBa/vmmon-only/linux/driver.c:338:4: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
    init_timer(&tscTimer);
    ^~~~~~~~~~
    init_timers
/tmp/modconfig-3S1CBa/vmmon-only/linux/hostif.c: In function ‘HostIF_InitUptime’:
    init_timers
/tmp/modconfig-3S1CBa/vmmon-only/linux/hostif.c:1754:31: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
    uptimeState.timer.function = HostIFUptimeResyncMono;
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/tmp/modconfig-3S1CBa/vmmon-only/linux/hostif.o' failed
make[2]: *** [/tmp/modconfig-3S1CBa/vmmon-only/linux/hostif.o] Error 1
Makefile:110: recipe for target 'vmmon.ko' failed
make: *** [vmmon.ko] Error 2

Wie kann man das Problem beheben oder implizite Funktionsdeklarationen und inkompatible Zeigertypen nicht als Fehler betrachten?
Oder eine einfachere Methode, um die neueste VMware am 18.04 zu installieren?

Hinweis: Ein anderer Fehler als bei VMWare Workstation Pro 12 unter Ubuntu 16.04 kann vmmon nicht kompilieren

Nicolas Raoul
quelle
Sie könnten die Lösungen hier
ausprobieren

Antworten:

6

Installieren Sie die neueste Version 14.1.2 . Der Fehler wurde behoben. Siehe hier . Hier ist der Download-Link.

Michael
quelle
15

Ich habe eine Lösung gefunden und eine Skriptdatei erstellt, die auf den Github-Quellen von mkucebek basiert .

Sie müssen eine Datei mit diesem Inhalt erstellen und jedes Mal ausführen, wenn dies erforderlich ist (normalerweise, wenn Sie einen neuen Kernel installieren):

#!/bin/bash
VMWARE_VERSION=workstation-12.5.9
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 
/usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart

Dann müssen Sie nur noch VMware Workstation starten, ohne Module zu erstellen.

Charly
quelle
Hallo Charly, willkommen bei askubuntu! Bitte fügen Sie die Links in Ihrem nächsten Beitrag hinzu.
abu_bua
Versionskonflikt mit vmmon-Modul: 329.0 erwartet, 309.0 erhalten. Sie haben eine falsche Version des Kernelmoduls 'vmmon'. Versuchen Sie, VMware Workstation neu zu installieren.
Altagir
1
Diese Lösung funktionierte perfekt für mich unter Ubuntu 19.04 und Workstation 15.0.4
Lukas Bradley
Ich habe das gleiche Problem mit 'VMware Workstation 15.0.4', das mit dem Kompilieren und Installieren von 'vmware-host-modules' behoben wurde. Wenn Sie eine andere Version von VMWare verwenden, finden Sie die entsprechende Version mit heraus git branch -aund checken Sie mit aus git checkout. Das Entfernen und Verknüpfen libz.so.1und Neustarten des VMware-Dienstes ist für mich nicht erforderlich.
Soroosh
3
#!/bin/bash
VMWARE_VERSION=`vmware-installer -l |grep workstat|awk '{print $2}' |awk 'BEGIN {FS="."}{print "workstation-"$1"."$2"."$3}'`
echo $VMWARE_VERSION
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 
/usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart

Dies funktioniert für mich unter Fedora 30 und Workstation 15.1.0

Raul Peñaloza
quelle
1
Können Sie weitere Details zur Funktionsweise und Vorgehensweise des Skripts hinzufügen?
Simon Sudler
Es ist die gleiche Version des oben gezeigten Skripts, aber "erkennen" Sie die installierte Version der VMware-Workstation
Raul Peñaloza
arbeitete für openSuSE Tumbleweed
blissini