Ошибка установки vmware-tools 9.9 после обновления до linux-image-3.13.0-46

После обновления моей гостевой Ubuntu до linux-image-3.13.0-46 я получил ошибку установки vmware-tools и больше не могу делиться папками.

Я запустил vmware player 7.0.0 build-2305329 как в Windows 8, так и в хост-машине Ubuntu 14.04 LTS, и во время установки я получил следующую ошибку:

                 from /tmp/modconfig-NVbKuD/vmhgfs-only/inode.c:29:
include/linux/kernel.h:793:27: error: ‘struct dentry’ has no member named ‘d_alias’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                           ^

Есть ли решение этой проблемы?

Спасибо

4 ответа

VMware-инструменты-DISTRIB-9.9.2-2496486:

Я исправил проблему, перейдя в каталог, где расположен vmhgfs.tar (в моем случае /usr/lib/vmware-tools/modules/source), распакуйте tar и отредактируйте inode.c вручную.

В строке 1925(просто найдите "d_alias", чтобы найти точную строку), вам нужно добавить if. В итоге выглядит так:

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
                           d_alias) {
#else
                           d_u.d_alias) {
#endif

Затем снова около строки 1983 (снова ищите "d_alias"):

#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
         struct dentry *dentry = list_entry(pos, struct dentry, d_alias);
#else
         struct dentry *dentry = list_entry(pos, struct dentry, d_u.d_alias);
#endif

Предостережение: Не уверен в версии ядра, но я поставил туда 3,13,0, хотя мои отчеты Ubuntu:

# uname -a
Linux md-ubuntu 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

И это работало нормально с 3.13.0-45.

Так что, вероятно, если вы понижаете ядро, вышеупомянутый хак не будет работать должным образом.

Затем вам нужно снова упаковать архив tar (просто уберите старый:

# mv vmhgfs.tar vmhgfs.tar.orig

и снова запакуйте каталог:

# tar cvf vmhgfs.tar vmhgfs-only

)

Надеюсь, поможет.

Этот патч должен решить проблему.

Редактировать патч Working Gist

Инструкция по применению:

cd vmware-tools-distrib/lib/modules/source/
tar -xvf vmhgfs.tar
cd vmhgfs-only
patch inode.c < inode.patch
cd ..
mv vmhgfs.tar vmhgfs.tar.orig
tar cvf vmhgfs.tar vmhgfs-only
cd vmware-tools-distrib
sudo ./vmware-install.pl

Что касается VMWare Fusion, ошибка была исправлена ​​в версии 7.1.2 [1]. Версия vmware-tools - 9.9.3.

[1] Замечания к выпуску VMware Fusion 7.1.2 https://www.vmware.com/support/fusion/doc/fusion-712-release-notes.html

open-vm-tools поддерживается и рекомендуется VMware для Ubuntu. Таким образом, вы можете легко установить open-vm-tools, если у вас действительно проблемы с VMware Tools. Надеюсь, поможет.

Другие вопросы по тегам