kernel-2.6.32 에서 vmware-7 설치시 에러 해결

Last Updated on 5월 16, 2010 by 태랑(정현호)


페도라 12 를 설치후 업데이트한후 커널버전이 2.6.32 였습니다
vmware 7 번들 버전을 다운받아 설치하는데 에러가 발생되었습니다

기본적인 kernel-devel kernel-headers gcc 등은 설치가 되어있어서
한참을 해맸습니다 그전 버전 페도라나 centos 에서는 6.5.1 을 설치해서
잘사용하였는데 이상하게 페도라12에서는 않되어서 vmware7로 하게 되었습니다


설치후 vmware 를 실행시키면 아래와 같이 추가적인 설치및 작업을
하게 되는데 빨간 박스 쳐진 "Virtual Network Device" 부분에서
에러가 발생됩니다

설치후 터미널에서 vmware 를 쳐서 실행하면 터미널에서 해당 에러를 볼수
있습니다

/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerEventHandler’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: (Each undeclared identifier is reported only once
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: for each function it appears in.)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerRead’:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘signal_pending’
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘schedule’


해결 법은  루트 계정으로
 #cd /usr/lib/vmware/modules/source   로 이동합니다

파일2개를 압축 풉니다
tar -xvf vmnet.tar
tar -xvf vmci.tar

아래 2개의 캐맨드를 실행합니다

1)
perl -pi -e 's,("vnetInt.h"),\1\n#include "compat_sched.h",' vmnet-only/vnetUserListener.c

2)
perl -pi -e 's,("compat_page.h"),\1\n#include "compat_sched.h",' vmci-only/include/pgtbl.h

실행시킨후에

기존 2개의 파일을 지웁니다

# rm -rf vmnet.tar
# rm -rf vmci.tar

이제 풀고 수정된 파일을 다시 묶습니다

# tar cvf vmnet.tar vmnet-only
# tar xvf vmci.tar vmci-only

이제다시 vmware 를 실행해서 위의 추가 작업시에
에러없이 마무리가 될것입니다

답글 남기기