Installazione di VMware su 18.04: impossibile creare vmmon


9

Sto cercando di installare VMware con le istruzioni su https://help.ubuntu.com/community/VMware/Player

Viene visualizzato un errore che mi dice di cercare in un file di registro che contiene:

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.

Per capire esattamente cosa non andava, mi sono imbattuto vmware-modconfig --console --install-allnella riga di comando e ha rivelato questi errori:

./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

Come risolverlo o fare in modo che la dichiarazione di funzione implicita e i tipi di puntatore incompatibile non siano considerati errros?
O un metodo più semplice per installare l'ultimo VMware su 18.04?

Nota: errore diverso da VMWare Workstation Pro 12 su Ubuntu 16.04 non può compilare vmmon


potresti provare le soluzioni qui
ptetteh227

Risposte:


6

Installa l'ultima versione 14.1.2 . Il bug è stato corretto. Vedi qui . Ecco il link per il download.


11

Ho trovato una soluzione e ho creato un file di script basato sulle fonti github di mkucebek .

È necessario creare un file con questo contenuto ed eseguirlo ogni volta che è necessario (di solito quando si installa un nuovo kernel):

#!/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

Quindi, devi solo avviare VMware Workstation senza creare moduli.


Ciao Charly, benvenuto su askubuntu! Aggiungi i link nel tuo prossimo post.
abu_bua,

Mancata corrispondenza della versione con il modulo vmmon: mi aspettavo 329.0, ottenuto 309.0. Hai una versione errata del modulo kernel 'vmmon'. Prova a reinstallare VMware Workstation.
altagir,

1
Questa soluzione ha funzionato perfettamente per me su Ubuntu 19.04 e Workstation 15.0.4
Lukas Bradley il

1
#!/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

Questo funziona per me su Fedora 30 e Workstation 15.1.0


1
Puoi aggiungere qualche dettaglio in più su cosa sta facendo lo script e su come procedere?
Simon Sudler,

è la stessa versione dello script mostrata sopra, ma "rileva" la versione installata della workstation vmware
Raul Peñaloza,

ha lavorato per openSuSE Tumbleweed
blissini il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.