vmware-any-any-update105 + Linux 2.6.20-rc2 を試す.
Building for VMware Workstation 4.5.[23] or VMware GSX Server 3.1.0. Using 2.6.x kernel build system. make: ディレクトリ `/tmp/vmware-config0/vmmon-only' に入ります make -C /usr/src/linux/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: ディレクトリ `/usr/src/linux' に入ります CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:85: /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or '...' before 'compat_exit' /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or '...' before 'exit_code' /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to 'int' in declaration of '_syscall1' make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] エラー 1 make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] エラー 2 make[1]: ディレクトリ `/usr/src/linux' から出ます make: *** [vmmon.ko] エラー 2 make: ディレクトリ `/tmp/vmware-config0/vmmon-only' から出ます Unable to build the vmmon module.
といった感じで /tmp/vmware-config0/vmmon-only/include/compat_kernel.h でこける.これは, <URL:http://www.vmware.com/community/thread.jspa?messageID=538342> にもあるとおり,compat_kernel.h を
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) static inline _syscall1(int, compat_exit, int, exit_code); +#endif
といった感じの修正をすればいいっぽい.
あと,vmware-any-any-update105 + Linux 2.6.20-rc2 の場合, vmware-any-any-update104 + Linux 2.6.18-git16 の時に必要だった,
[include/linux/types.h] #ifndef __cplusplus typedef _Bool bool; #endif
とかいう include/linux/types.h の修正は不要っぽい.というかむしろ,上 記のようにしていると,
Building for VMware Workstation 4.5.[23] or VMware GSX Server 3.1.0. Using 2.6.x kernel build system. make: ディレクトリ `/tmp/vmware-config0/vmmon-only' に入ります make -C /usr/src/linux/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: ディレクトリ `/usr/src/linux' に入ります CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o CC [M] /tmp/vmware-config0/vmmon-only/common/hash.o CC [M] /tmp/vmware-config0/vmmon-only/common/memtrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/phystrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/task.o cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++ include/linux/kernel.h:161: error: 'bool_type' does not name a type make[2]: *** [/tmp/vmware-config0/vmmon-only/common/task.o] エラー 1 make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] エラー 2 make[1]: ディレクトリ `/usr/src/linux' から出ます make: *** [vmmon.ko] エラー 2 make: ディレクトリ `/tmp/vmware-config0/vmmon-only' から出ます Unable to build the vmmon module.
といった感じで include/linux/kernel.h でこける.
Last-modified: Sun May 11 18:13:47 +0900 2008