Mô-đun vmhgfs không thể biên dịch được cho VMware Tools 9.9.0 (Fusion7.1) sau khi cập nhật kernel Ubuntu Linux thành 3.13.0-46-generic?


12

Mô-đun vmhgfs không thể biên dịch được cho VMware Tools 9.9.0 (Fusion7.1) và VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) sau khi cập nhật kernel Ubuntu Linux thành 3.13.0-46 (Febr. 2015) (Tính năng thư mục dùng chung của VMware Tools không hoạt động trong Ubuntu 14.04 LTS (Khách) trên MacOSX Yosemite (Máy chủ))? 


Xin chào Cộng đồng và Nhóm phát triển VMware,


Vào ngày 13 tháng 2 năm 2015, chúng tôi đã mất Tính năng thư mục dùng chung giữa Ubuntu và MacOSX. Có lẽ, việc cập nhật kernel Linux thành 3.13.0-46-generic đã gây ra sự cố này (mặc dù mô-đun vmhgfs đã biên dịch hiện có của VMware Tools trong Ubuntu sẽ không bị hỏng bởi bản cập nhật kernel Linux!). Chúng tôi sử dụng VMware Fusion 7.0.0 với Ubuntu 14.04 LTS và MacOSX trong một năm mà không gặp vấn đề gì với các nhân Linux cũ hơn. Chúng tôi đã cập nhật lên VMware Fusion 7.1.0 và Fusion7.1.1 Build 2496486 với VMware Tools 9.9.2 với hy vọng khắc phục sự cố Tính năng thư mục dùng chung xảy ra trước tiên. 7.0.0.

Chúng ta có thể giả sử rằng có sự không tương thích giữa mô-đun vmhgfs đã biên dịch và nhân Linux mới 3.13.0-46-generic.

Chúng tôi đã cố gắng cài đặt lại công cụ VMware 9.9.0 và ngược lại. 9.9.2 nhưng mô-đun vmhgfs không thể được biên dịch và Tính năng thư mục chia sẻ không hoạt động. Tất cả các tính năng công cụ VMware khác đang hoạt động tốt.

Trong Ubuntu 14.04 LTS lệnh đầu cuối lsmod | grep "vm." liệt kê không có mô-đun vmhgfs

Trong quá trình biên dịch mô-đun vmhgfs, có một số "lỗi" gần "/ vmhgfs-only /" và "make []:"


Đây là một trong những tạp chí đầu cuối của chúng tôi dành cho bạn: 


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'

Và / mnt / hgfs trống nhưng chia sẻ thư mục được bật cho thư mục "Documents" của Mac chẳng hạn. Nếu chúng tôi chạy vmware-hgfsclient trong một thiết bị đầu cuối, chúng tôi sẽ nhận được danh sách các thư mục được chia sẻ nhưng / mnt / hgfs trống. 


Bạn có thể sửa lỗi không tương thích giữa mô-đun vmhgfs và nhân Linux mới 3.13.0-46 không?

Trân trọng,

Tôn



Xin chào, chào mừng bạn đến hỏi Ubuntu! Chúng tôi muốn giúp bạn với vấn đề này, tuy nhiên, câu hỏi này thực sự khó đọc. Hãy cố gắng định dạng câu hỏi của bạn để làm cho nó rõ ràng hơn và có cấu trúc hơn. Trợ giúp định dạng: Askubfox.com/help/formatted
Merlijn Sebrechts

Xin chào Cộng đồng, thành viên "DJ" của chúng tôi đã trả lời bài viết của tôi. Anh ta có cùng một vấn đề với mô-đun vmhgfs và Tính năng thư mục chung trong VMware Fusion và giả định sự không tương thích giữa mô-đun vmhgfs và chung Linux Kernel 3.13.0-46. "DJ" cũng đưa ra đề xuất cho phiên bản nhân Linux tương thích. Có ai có kinh nghiệm với phiên bản Linux Kernel tương thích mới nhất liên quan đến mô-đun vmhgfs không? "DJ" bạn có thể gửi lại lệnh của bạn không? Chúng ta có thể làm cho mô-đun vmhgfs hoạt động với việc hạ cấp xuống phiên bản nhân Linux tương thích mới nhất. Trân trọng, Toni
Ecoplacehunter 18/2/2015

Bản cập nhật VMware Fusion Pro lên 7.1.1 Build 2496486 trên Mac OS X Yosemite và cố gắng cài đặt lại các công cụ Vmware VMwareTools-9.9.2-2496486 cho Ubuntu không thể khắc phục sự cố mô-đun vmhgfs. VMwareTools-9.9.2-2496486 cũng không tương thích với nhân Linux mới 3.13.0-46-generic
Ecoplacehunter 23/2/2015

Câu trả lời:


13

Các công cụ có thể được vá bằng tay. Trong vmhgfs.tar, inode.c d_aliasphải được thay đổi thành d_u.d_alias, đưa trở lại tar và sau đó biên dịch lại các công cụ.

Một tập lệnh thực hiện điều đó (đã được thử nghiệm trên 32-bit Ubuntu 14.04, máy trạm vmware 11.1 trên máy chủ windows) ở đây:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m

LƯU Ý: điều này làm cho các công cụ không tương thích với các phiên bản kernel cũ hơn, tức là 3.13.0-45.


Giải pháp này hiệu quả với tôi với máy chủ Windows 8.1 và máy khách Ubuntu 14.04.2 LTS 32 bit sử dụng VMware player 7.1.0 build-2496824. Cảm ơn!
Taylor T. Johnson

Hyvä Viljo !!! Cách khắc phục bản vá ngắn nhất, gọn gàng và dễ dàng nhất so với tất cả các hướng dẫn lập dị khó hiểu hiện có: google.fi/ mẹo
Yordan Georgiev

Có vẻ như họ đã sửa nó trong vmware-tools-9.9.3
Didar_Uranov

Tôi có thể xác nhận rằng bản vá này hoạt động trên kernel Ubuntu 14.04.2 LTS 3.13.0-48, nhắm mục tiêu VMwareTools-9.6.5-2700074 được vận chuyển với VMWare Workstation 10.0.7.
Ryan M


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.