Ubuntu 17.10 Upgrade Broke Workstation VMWare 12.5


10

Привіт після оновлення до Ubuntu 17.10, vmware зараз не запускається.

Я отримую повідомлення:

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

Я знаю, що доступні патчі, і я намагаюся застосувати ці і перекомпілювати. Я розбігся з рішення на веб- сайті https://communities.vmware.com/thread/571370 :

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

На жаль, vmware-modconfig виходить з ладу через залежність, що здається на певній версії gcc. Я на правильному шляху? Будь-яка допомога з цим питанням буде дуже вдячна.

РЕДАКЦІЯ Дякую, Стів, нижче введене програмне забезпечення vmware знову. Я включив незначну корекцію. Випробуваний і підтверджений, що я міг запустити віртуальну машину.

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

2
Загалом, віртуалізація третьої сторони трохи відставатиме від нових ядер та нових версій. Це, здається, впливає на vmware більше, ніж на virtualbox. Оскільки vmware є закритим джерелом, вам доведеться запитати їх. Як потенційний заступник - саме тому я намагаюся максимально використовувати KVM або LXC (хоча я все ще вважаю, що LXC не готовий до виробничих серверів). KVM + спеція дуже швидка (FWIW). З vmware, я здогадуюсь, чи буде робота десь 1-3 дні або 3-4 тижні, залежно від складності проблеми.
Пантера

Патч, який ви намагаєтеся застосувати, призначений для вирішення помилки з обробкою пам’яті, а не для проблеми, пов’язаної із згаданим вами повідомленням про помилку. AFAIK ще не вирішив цієї проблеми. Існує звіт про помилки на панелі запуску: bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
користувач749720

чи вдалося ви вирішити проблему "Не вдалося отримати інформацію про gcc."?
Oğuzhan Topçu

На жаль, я в даний час запускаю скрипт, який sudo виконує insmodі vmware-networksкоманди, а потім vmware бінарний як звичайний користувач.
користувач1330734

У мене Lubuntu 18.04 - метод від Стівена Вассела не працював. Рішення від tokam - оновлення до VMWare 14 теж не спрацювало - через політику від VMWare лише щодо підтримки найновішого обладнання. Метод від Джона справді працював - але тільки якщо я запускаю vmplayer як su. Інакше я отримаю надійне повідомлення: рядок 106: 29487 помилка пам'яті (написано дамп пам'яті) "$ BINDIR" / vmware-modconfig --appname = "VMWaer Player! --Ivon =" vmware-player "
Tobias Trappe

Відповіді:


12

Мені вдалося отримати робочу станцію VMWare 12.5.7, яка працює над Kubuntu 17.10.

В /usr/lib/vmware/modules/source:

  1. Витяг vmmon.tarіvmnet.tar

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

    Це створить vmmon-onlyі vmnet-onlyкаталоги.

  2. Отримати виправлену hostif.c

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

    (зверніть увагу: https://communities.vmware.com/thread/571370 - також містить аналогічне виправлення для VMWare Workstation 14)

  3. Редагувати vmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. Біжи

    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. Як користувач:

    /usr/lib/vmware/bin/vmware
    

    (щоб запобігти його запуску vmware-modconfig)


Дивовижний, чудовий твір Стівене, Ваша відповідь була надзвичайно проста. Я чітко повторив кроки, а також додав незначну корекцію для кроку 8 у редагуванні мого запитання вище. Ура!
користувач1330734

Рада, що це працювало на вас! Я також виправив свій крок 8, дякую за виправлення. Сподіваюсь, що все це зберігається через перезавантаження ...
Стівен Васселл

1
Ще раз дякую Стівен, я все добре, якщо почати /usr/lib/vmware/bin/vmware, інакше звіти vmware не зможуть знайти GCC.
користувач1330734

Дякую за публікацію! Це змусило мене знову бігати. Чи є якесь місце, де ми можемо зайти, щоб побачити, де знаходиться VMWare з наданням виправлень?
Ерік

4
Тепер випущено Workstation 14.1.0, що вирішує цю проблему. my.vmware.com/group/vmware/…
Стівен Васселл

6

Я спробував приблизно всі інші рішення, але нічого не вийшло. Але ці кроки працювали для мене на 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

Довідка:

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

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


2
це чудово працює, дякую тонну! Я шукав рішення цього для ubuntu 18.04 з моменту виходу!
Стам Кали

1
Можна підтвердити, що це працює для Ubuntu 18.10, з VMWare Workstation Pro 12.5.9.
анонір

Це рішення працювало для мене на Linux Mint 19.2 64bit з робочою станцією vmware pro 12.5.9.
Lexib0y

2

Виправлена ​​помилка, описана: Стівен призводить багатьох до іншої помилки: "Не вдалося отримати інформацію про gcc."

Простим рішенням є завантаження VMWare Player станції 14.1 .

Встановлення його замість версії 12.5 вирішує проблеми, описані вище.

Для цього просто запустіть

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

І дотримуйтесь інструкцій у графічному інсталяторі.


2
що вимагає оновлення ліцензії
shadowbq

запустіть, /usr/lib/vmware/bin/vmwareзамість цього, щоб вирішити "Не вдалося отримати інформацію про gcc"
shadowbq

2
Я думаю, що не комерційно це також працює без оновлення ліцензії
tokam

2

На додаток до відповіді Стівена Вассела , якщо ви все ще працюєте з версією робочої станції 12.5.x VM, вам потрібно буде перекомпілювати свій .koпатч для кожного ядра ..

Можливо, ви побачите цю помилку: ( Недійсний формат модуля )

# 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

Ось інструмент для оновлення модулів ядра для ubuntu-смаку-дистрибутива оновлення після виправлення ядра.

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

Я також включив просту обгортку, .shщо ви можете використовувати заміну для запуску робочої станції vmware, щоб ви могли бути впевнені, що вона належним чином завантажує модулі ядра vm-мережі та vm-mon ядра.

Примітка: цей скрипт не розширюватиме "tar" або "виправляти" вихідні файли, це для автоматичної перекомпіляції модулів ядра після патча ядра, виконуючи початкові кроки Стівена Вассела.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.