VMware kernel module: a compatible version of gcc was not found

Из потока в списке пользователей tmux, спрашивающего об этом :

allow-rename влияет на имя окна, а не на заголовок.

В вашем выводе из Префикс + w :

(0)  0: ksh93* "root@pelleplutt: /home/ubuntu" 

Часть «ksh93» - это то, что tmux считает ] имя окна . Он может быть установлен escape-последовательностью \ 033k ... \ 033 \\ и защищен опцией allow-rename .

Часть "root @ pelleplutt: ..." - это заголовок . Он устанавливается escape-последовательностью \ 033 [2; ... \ 033 \\ , и tmux не имеет возможности защитить это.

Чтобы предотвратить изменение заголовка удаленной системой, вы можете удалить эту последовательность из переменной PS1 :

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

4
18.09.2016, 15:08
3 ответа

Если вы используете Kali Linux Rolling Edition, просто просмотрите и выберите gcc-5 , который находится в / usr / bin или просто введите / usr / bin / gcc-5 в поле местоположения и нажмите «Установить».

2
27.01.2020, 20:46

Seguí la respuesta de Ogheneneovie Ralph Otutu, que solía funcionar en kernels anteriores pero no parece funcionar en kernels más nuevos. Estaba tratando de compilar los módulos para vmware 12.5.9en el kernel 4.15.0-kali3-amd64cuando recibí algunos errores:

/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function ‘LinuxDriverInitTSCkHz’:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:268:22: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]                                 
    tscTimer.function = LinuxDriverEstimateTSCkHzDeferred;
                      ^
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:270:12: error: ‘struct timer_list’ has no member named ‘data’
    tscTimer.data     = 0;
            ^
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function ‘init_module’:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:312:4: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
    init_timer(&linuxState.pollTimer);
    ^~~~~~~~~~
...

Aparentemente, los cambios en el kernel de Linux hicieron que las fuentes del módulo VMware fueran incompatibles.

Para que esto funcione, descargué los archivos de origen parcheados para mi versión de VMware desdehttps://github.com/mkubecek/vmware-host-modules/branchesy seguí los mismos pasos descritos por Ogheneneovie Ralph Otutu, es decir,:

cd /usr/lib/vmware/modules/source

wget https://github.com/mkubecek/vmware-host-modules/archive/player-12.5.9.zip

unzip player-12.5.9.zip

cd vmware-host-modules-player-12.5.9/vmmon-only/

make

cd../vmnet-only/

make

cd..

mkdir /lib/modules/`uname -r`/misc

cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko

cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko

depmod -a

/etc/init.d/vmware restart

2
27.01.2020, 20:46

Это очень неприятный хак, но вот что я сделал, чтобы получить нужную мне версию GCC (8.3.1 в данном случае ). Я использую Fedora 30, которая сейчас имеет 9.x. Я уверен, что это не правильный способ, но я не знал лучшего способа получить правильную версию GCC.

  1. Использовал Docker для запуска нового контейнера для Fedora 29:docker run --rm -it fedora:29 bash
  2. В контейнере установлены необходимые инструменты GCC:dnf install @development-tools
  3. Скопировал установку GCC в папку на моем компьютере:docker cp {containerid}:/usr/ {some_folder_on_my_machine}. Вы можете просмотреть запущенные контейнеры с помощью docker ps -a, чтобы найти идентификатор контейнера. :). Возможно, вам придется сделать это с помощью sudo
  4. .
  5. Если вам пришлось использовать sudo, станьте владельцем только что скопированной папкиsudo chown -R {user}:{user} {the_folder}
  6. Укажите VMware на папку, в которую вы его скопировали, например{the_folder}/bin/gcc
0
27.01.2020, 20:46

Теги

Похожие вопросы