18.04 Üzerinde VMware Kurulumu: vmmon oluşturulamadı


10

Https://help.ubuntu.com/community/VMware/Player adresindeki talimatlarla VMware yüklemeye çalışıyorum

Aşağıdakileri içeren bir günlük dosyasına bakmamı söyleyen bir hata alıyorum:

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.

Tam olarak neyin yanlış olduğunu anlamak vmware-modconfig --console --install-alliçin komut satırında koştum ve bu hataları ortaya çıkardı:

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

Nasıl düzeltebilir veya örtük-işlev-bildirimi ve uyumsuz-işaretçi türleri hata olarak kabul edilmez?
Veya en son VMware'i 18.04'e kurmak için daha kolay bir yöntem var mı?

Not: Ubuntu 16.04'teki VMWare Workstation Pro 12'den farklı hata vmmon'u derleyemez


çözümleri burada
ptetteh227

Yanıtlar:



15

Bir çözüm buldum ve mkucebek'in github kaynaklarına dayalı bir komut dosyası oluşturdum .

Bu içeriğe sahip bir dosya oluşturmanız ve gerektiğinde çalıştırmanız gerekir (Genellikle yeni bir çekirdek yüklediğinizde):

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

Ardından, modül oluşturmadan VMware Workstation'ı başlatmanız yeterlidir.


Merhaba Charly, askubuntu'ya hoş geldiniz! Lütfen bağlantıları bir sonraki gönderinize ekleyin.
abu_bua

Vmmon modülü ile sürüm uyuşmazlığı: 329.0 bekleniyor, 309.0 aldı. 'Vmmon' çekirdek modülünün yanlış bir sürümüne sahipsiniz. VMware Workstation'ı tekrar kurmayı deneyin.
altagir

1
Bu çözüm benim için Ubuntu 19.04 ve Workstation 15.0.4'te mükemmel çalıştı
Lukas Bradley

'VMware Workstation 15.0.4' ile aynı sorunu aldım, 'vmware-host-modülleri' derle ve yükle ile çözüldü VMWare'in başka bir sürümünü kullanıyorsanız, ile uygun sürümü bulun git branch -ave ile ödeme yapın git checkout. libz.so.1vmware hizmetinin kaldırılması ve bağlanması ve yeniden başlatılması benim için gerekli değildir.
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

Bu benim için Fedora 30 ve Workstation 15.1.0'da çalışıyor


1
Betiğin ne yaptığına ve yoluna biraz daha ayrıntı ekleyebilir misiniz?
Simon Sudler

betiğin obove gösterdi aynı versiyonu, ama vmware iş istasyonu yüklü sürümünü "tespit"
Raul Peñaloza

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.