Ошибка установки 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. Надеюсь, поможет.