Uaktualnienie Ubuntu 17.10 złamało VMWare Workstation 12.5

10

Cześć po aktualizacji do Ubuntu 17.10, vmware nie uruchamia się teraz.

Dostaję wiadomość:

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

Wiem, że są dostępne łatki i staram się je zastosować i ponownie skompilować. Uruchomiłem z rozwiązania na 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 ...

Niestety, vmware-modconfig nie działa z powodu zależności, która wydaje się na konkretnej wersji gcc. Czy jestem na dobrej drodze? Jakakolwiek pomoc w tej kwestii byłaby bardzo mile widziana.

EDYCJA Dziękuję Steve, poniżej znów uruchomiono vmware. Zawarłem drobną korektę. Przetestowano i potwierdzono, że mogę uruchomić maszynę wirtualną.

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
użytkownik1330734
źródło
2
Ogólnie rzecz biorąc, wirtualizacja stron trzecich będzie nieco opóźniona w przypadku nowych jąder i nowych wydań. Wydaje się, że wpływa to bardziej na vmware niż virtualbox. Ponieważ vmware jest zamkniętym źródłem, będziesz musiał o nie zapytać. Jako potencjalna alternatywa - dlatego staram się jak najwięcej korzystać z KVM lub LXC (chociaż nadal uważam, że LXC nie jest gotowy na serwery produkcyjne). Przyprawa KVM + jest bardzo szybka (FWIW). W przypadku vmware przypuszczam, że będzie działać od 1 do 3 dni lub 3–4 tygodni, w zależności od złożoności problemu.
Panther
Łatka, którą próbujesz zastosować, służy do rozwiązania problemu z obsługą pamięci, a nie do problemu związanego z wymienionym komunikatem o błędzie. AFAIK nie ma jeszcze rozwiązania tego problemu. Raport o błędzie na launchpad
user749720
udało Ci się rozwiązać problem „Nie udało się uzyskać informacji gcc”.
Oğuzhan Topçu,
Na szczęście nie, obecnie uruchamiam skrypt, który sudo wykonuje insmodi wykonuje vmware-networkspolecenia, a następnie vmware binarny jako zwykły użytkownik.
user1330734,
Mam Lubuntu 18.04 - Metoda Stephena Wassella nie zadziałała. Rozwiązanie od tokam - aktualizacja do VMWare 14 też nie działało - ze względu na politykę VMWare tylko do obsługi najnowszego sprzętu. Metoda od Johna zadziałała - ale tylko wtedy, gdy uruchomię vmplayer jako su. W przeciwnym razie otrzymam niezawodny komunikat: wiersz 106: 29487 błąd pamięci (zapisany zrzut pamięci) „$ BINDIR” / vmware-modconfig --appname = "VMWaer Player! --Ivon =" vmware-player "
Tobias Trappe

Odpowiedzi:

12

Udało mi się uruchomić VMWare Workstation 12.5.7 na Kubuntu 17.10.

W /usr/lib/vmware/modules/source:

  1. Wyciąg vmmon.tarivmnet.tar

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

    Spowoduje to utworzenie vmmon-onlyi vmnet-onlykatalogi.

  2. Przynieś łatkę hostif.c

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

    (uwaga: https://communities.vmware.com/thread/571370 - zawiera również podobną poprawkę do VMWare Workstation 14)

  3. Edytuj vmnet-only/bridge.c:

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

    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. Jako użytkownik:

    /usr/lib/vmware/bin/vmware
    

    (aby zapobiec jego uruchomieniu vmware-modconfig)

Stephen Wassell
źródło
Świetna robota, Stephen, odpowiedź była niezwykle łatwa do naśladowania. Powtórzyłem te kroki wyraźnie, a także dodałem niewielką korektę dla kroku 8 w powyższej edycji pytania. Twoje zdrowie!
user1330734
Cieszę się, że to zadziałało! Naprawiłem też krok 8, dzięki za korektę. Mam nadzieję, że to wszystko trwa po ponownym uruchomieniu ...
Stephen Wassell
1
Jeszcze raz dziękuję Stephen, mam się dobrze, pod warunkiem, że zacznę /usr/lib/vmware/bin/vmware, w przeciwnym razie vmware zgłasza, że ​​nie może znaleźć GCC.
user1330734,
Wielkie dzięki za wysłanie wiadomości! To mnie znów uruchomiło. Czy jest jakieś miejsce, w którym możemy zobaczyć, gdzie jest VMWare z poprawką?
Eric
4
Została wydana stacja robocza 14.1.0, która rozwiązuje ten problem. my.vmware.com/group/vmware/…
Stephen
6

Próbowałem około wszystkich innych rozwiązań, ale nic nie działało. Ale te kroki działały dla mnie na 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

Odniesienie:

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

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

Jan
źródło
2
to działa świetnie, dzięki tona! Szukałem rozwiązania tego problemu dla Ubuntu 18.04, odkąd się pojawiło!
Stam Kaly
1
Może potwierdzić, że działa to dla Ubuntu 18.10, z VMWare Workstation Pro 12.5.9.
anonnoir
To rozwiązanie działało dla mnie na Linux Mint 19.2 64bit z vmware workstation pro 12.5.9.
Lexib0y,
2

Poprawka opisana przez: Stephen prowadzi wielu do innego błędu: „Nie udało się uzyskać informacji gcc”.

Najprostszym rozwiązaniem jest pobieranie stacji roboczej VMware Player 14.1 .

Zainstalowanie go zamiast wersji 12.5 rozwiązuje problemy opisane powyżej.

Aby to zrobić, po prostu biegnij

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

I postępuj zgodnie z instrukcjami w graficznym instalatorze.

tokam
źródło
2
co wymaga uaktualnienia licencji
shadowbq
uruchom /usr/lib/vmware/bin/vmwarezamiast tego, używając rozwiązania „Nie udało się uzyskać informacji gcc”
shadowbq
2
Myślę, że niekomunistycznie działa to również bez tej aktualizacji licencji
tokam
2

Oprócz odpowiedzi Stephena Wassella , jeśli nadal korzystasz z wersji VM Workstation 12.5.x, będziesz musiał ponownie skompilować .kokażdą łatę na jądro ...

Możesz zobaczyć ten błąd: ( Niepoprawny format modułu )

# 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

Oto narzędzie do aktualizacji modułów jądra dla dystrybucji Ubuntu-flavour po aktualizacji jądra.

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

Dołączyłem również proste opakowanie .sh, którego możesz użyć jako zamiennika do uruchomienia stacji roboczej vmware, dzięki czemu masz pewność, że odpowiednio ładuje moduły jądra vm-network i vm-mon za każdym razem.

Uwaga: ten skrypt nie rozszerzy „tar” ani „łata” plików źródłowych, służy to do automatycznej ponownej kompilacji modułów jądra po poprawce jądra zgodnie z krokami oryginalnymi Stephena Wassella.

shadowbq
źródło