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

Share

Last Updated on 7월 30, 2021 by Jade(정현호)

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

기본적인 kernel-devel kernel-headers gcc 등은 이미 설치가 된 상태라서 한참을 헤맸습니다

그전 버전 페도라나 CentOS 에서는 6.5.1 을 설치해서 잘 사용하였는데 이상하게 페도라 12에서는 안되어서 vmware7 로 하게 되었습니다


설치후 vmware7 를 실행시키면 아래와 같이 추가적인 설치 및 작업을 하게 되는데 빨간 박스 쳐진 "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 를 실행해서 위의 추가 작업시에 에러없이 마무리가 될것입니다

 

0
글에 대한 당신의 생각을 기다립니다. 댓글 의견 주세요!x