module vmhgfs non compilable pour VMware Tools 9.9.0 (Fusion7.1) et VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) après la mise à jour du noyau Ubuntu Linux vers 3.13.0-46-generic (février 2015) (fonctionnalité de dossier partagé de VMware Tools ne fonctionne pas dans Ubuntu 14.04 LTS (invité) sur MacOSX Yosemite (hôte))?
Bonjour la communauté et l'équipe de développeurs VMware,
Le 13 février 2015, nous avons perdu la fonctionnalité de dossier partagé entre Ubuntu et MacOSX. La mise à jour du noyau Linux vers 3.13.0-46-generic a probablement causé ce problème (bien que le module vmhgfs compilé existant de VMware Tools dans Ubuntu ne soit pas endommagé par la mise à jour du noyau Linux!). Nous utilisons VMware Fusion 7.0.0 avec Ubuntu 14.04 LTS et MacOSX pendant un an sans problèmes avec les noyaux Linux plus anciens. Nous avons mis à jour VMware Fusion 7.1.0 et Fusion7.1.1 Build 2496486 avec VMware Tools 9.9.2 dans l'espoir de résoudre le problème de la fonctionnalité de dossier partagé qui s'est produit en premier au vers. 7.0.0.
Nous pouvons supposer qu'il existe une incompatibilité entre le module vmhgfs compilé et le nouveau noyau Linux 3.13.0-46-generic.
Nous avons essayé de réinstaller VMware tools 9.9.0 et vers. 9.9.2 mais le module vmhgfs n'a pas pu être compilé et la fonction de dossier partagé ne fonctionne pas. Toutes les autres fonctionnalités de l'outil VMware fonctionnent correctement.
Dans Ubuntu 14.04 LTS, la commande de terminal lsmod | grep "vm." ne répertorie aucun module vmhgfs
Pendant la compilation du module vmhgfs, il y a eu plusieurs "erreurs" près de "/ vmhgfs-only /" et "make []:"
Voici l'un de nos journaux terminaux pour vous:
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'
Et / mnt / hgfs est vide mais le partage de dossier est activé pour le répertoire "Documents" de Mac par exemple. Si nous exécutons vmware-hgfsclient dans un terminal, nous obtenons la liste des dossiers partagés mais / mnt / hgfs est vide.
Pourriez-vous corriger l'incompatibilité entre le module vmhgfs et le nouveau noyau Linux 3.13.0-46-generic, s'il vous plaît?
Meilleures salutations,
Toni
Réponses:
Les outils peuvent être corrigés manuellement. Dans vmhgfs.tar, inode.c
d_alias
doit être remplacé pard_u.d_alias
, replacé dans le tar puis recompiler les outils.Un script qui fait cela (testé sur Ubuntu 14.04 32 bits, VMware Workstation 11.1 sur un hôte Windows) est ici:
REMARQUE: cela rend les outils incompatibles avec les anciennes versions du noyau, c'est-à-dire 3.13.0-45.
la source
J'ai eu la même expérience après la mise à jour vers le noyau 3.13.0-46. Selon vmware-tools-patches , aucun correctif n'est disponible.
J'ai réparé
vmhgfs
par:la source
De la même manière que la réponse de @Will Wolcott, les récents changements dans vmware-tools-patches fonctionnent autour du problème pour moi le 14.04 avec le noyau 3.13.
la source