gutsy는 10월에 릴리즈 예정인 ubuntu 배포판의 코드네임이다.
feisty 에서의 설치 방법을 정리해 놓은
문서 와 비교하여 정리한다.
1. 1단계에서 vmware-server-kernel-modules 이 항목은 빼고 한다.
$sudo apt-get install build-essential xinetd linux-headers-`uname -r`
2. 4단계까지 따라하되 vmware-config.pl 파일을 실행할 것이냐는 질문에 'yes'를 하고 뒤의 5 ~ 8단계는 생략한다.3. 위에서 vmware-config.pl 실행 시 다음과 같은 에러가 발생한다.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config5/vmmon-only'
make -C /lib/modules/2.6.22-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-6-generic'
CC [M] /tmp/vmware-config5/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config5/vmmon-only/linux/driver.c:80:
/tmp/vmware-config5/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config5/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’
/tmp/vmware-config5/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’
make[2]: *** [/tmp/vmware-config5/vmmon-only/linux/driver.o] 오류 1
make[1]: *** [_module_/tmp/vmware-config5/vmmon-only] 오류 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-6-generic'
make: *** [vmmon.ko] 오류 2
make: Leaving directory `/tmp/vmware-config5/vmmon-only'
Unable to build the vmmon module.
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
이를 해결하기 위한 방법은 다음과 같다.
4. vmware-any-any-update110.tar.gz 다운로드 후 설치.
wget http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update110.tar.gz
tar xvfz vmware-any-any-update110.tar.gz
cd vmware-any-any-update110
./runme.pl
5. /lib/modules/2.6.22-6-generic/build/include/asm/page.h 파일 수정
위 4번에서 runme.pl 을 실행 시 아래와 같이 또 에러가 발생하고 설치가 취소된다.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config6/vmmon-only'
make -C /lib/modules/2.6.22-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-6-generic'
CC [M] /tmp/vmware-config6/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config6/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config6/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config6/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config6/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config6/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config6/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/asm/page.h: In function ‘pte_t native_make_pte(long unsigned int)’:
include/asm/page.h:112: error: expected primary-expression before ‘)’ token
include/asm/page.h:112: error: expected ‘;’ before ‘{’ token
include/asm/page.h:112: error: expected primary-expression before ‘.’ token
include/asm/page.h:112: error: expected `;' before ‘}’ token
make[2]: *** [/tmp/vmware-config6/vmmon-only/common/task.o] 오류 1
make[1]: *** [_module_/tmp/vmware-config6/vmmon-only] 오류 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-6-generic'
make: *** [vmmon.ko] 오류 2
make: Leaving directory `/tmp/vmware-config6/vmmon-only'
Unable to build the vmmon module.
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
이때는 /lib/modules/2.6.22-6-generic/build/include/asm/page.h 파일의 112번줄을 아래 와 같이 수정한다.
static inline pte_t native_make_pte(unsigned long val)
{
/*return (pte_t) { .pte_low = val };*/
pte_t pte;
pte.pte_low = val;
return pte;
}
6. 처음 설치할 때와 동일하게 기본 옵션에 'Enter'를 치고 넘어가면 에러 없이 정상적으로 vmware가 설치된다.