커널모듈 "unresolved symbol" 어떻게 해결하죠?
글쓴이: jyj9782 / 작성시간: 수, 2004/01/21 - 4:11오전
아래 문제좀 해결해주세요..
데비안 우디를 사용하는데요
2.2.20-compact 커널..
2.2.20 커널소스를 풀어서.. af_packet.c 를 열어서요..
몇줄 수정해서..
컴파일이 아래처럼 성공적이었는데요..
언리솔브드 오브젝트..라고 =.=
참 난감해요.. 제대로 작동되게 하려면 어떻게 해야하나요 ?
root@testbed:/usr/src/linux/net/packet# gcc -c af_packet.c -I ../../include -Wall /tmp/ccCCQ1PG.s: Assembler messages: /tmp/ccCCQ1PG.s:9: Warning: ignoring changed section attributes for .modinfo root@testbed:/usr/src/linux/net/packet# ls Makefile af_packet.c af_packet.o skbuff.h sock.h root@testbed:/usr/src/linux/net/packet# rmmod af_pcket rmmod: module af_pcket is not loaded root@testbed:/usr/src/linux/net/packet# rmmod af_packet root@testbed:/usr/src/linux/net/packet# lsmod Module Size Used by lockd 41776 0 (autoclean) (unused) sunrpc 57784 0 (autoclean) [lockd] ide-floppy 8536 0 root@testbed:/usr/src/linux/net/packet# insmod af_packet.o af_packet.o: af_packet.o: unresolved symbol htons af_packet.o: af_packet.o: unresolved symbol dev_unlock_list af_packet.o: af_packet.o: unresolved symbol skb_push af_packet.o: af_packet.o: unresolved symbol __put_user_X af_packet.o: af_packet.o: unresolved symbol __get_user_X af_packet.o: af_packet.o: unresolved symbol skb_pull af_packet.o: af_packet.o: unresolved symbol skb_put af_packet.o: af_packet.o: unresolved symbol __constant_memcpy af_packet.o: af_packet.o: unresolved symbol __constant_c_memset af_packet.o: af_packet.o: unresolved symbol rtnl_shunlock af_packet.o: af_packet.o: unresolved symbol __memcpy af_packet.o: af_packet.o: unresolved symbol rtnl_shlock af_packet.o: af_packet.o: unresolved symbol ntohs af_packet.o: af_packet.o: unresolved symbol kfree_skb af_packet.o: af_packet.o: unresolved symbol __constant_c_and_count_memset af_packet.o: af_packet.o: unresolved symbol strncpy af_packet.o: af_packet.o: unresolved symbol skb_reserve af_packet.o: af_packet.o: unresolved symbol dev_lock_list af_packet.o: af_packet.o: unresolved symbol capable af_packet.o: af_packet.o: unresolved symbol sock_queue_rcv_skb af_packet.o: af_packet.o: unresolved symbol skb_dequeue af_packet.o: af_packet.o: unresolved symbol __memset_generic af_packet.o: Hint: You are trying to load a module without a GPL compatible license and it has unresolved symbols. Contact the module supplier for assistance, only they can help you. root@testbed:/usr/src/linux/net/packet#
Forums:
설날이라 =.= read 25 에 머무네요; kldp 가족분들도..;;
설날이라 =.= read 25 에 머무네요; kldp 가족분들도..;; 설에는 가족과함꼐 하시나 =.=
힘내세요.
Re:
상황을 보니...
커널을 새로 컴파일 하지 않고
필요한 모듈만 새로 컴파일해서 사용하시려는것 같군요.
이런 상황에서는 90% 이상의 확률로 저 에러 납니다...
이유는 다른데 있는게 아니라 커널 자체에 있죠.
모듈들에서 사용하는 함수는 다 커널 자체에 포함되어 있는 함수들인데,
커널 버젼에 따라서, 커널 옵션을 어떻게 주느냐에 따라서
그 함수 이름이 변합니다..(심볼네임이 변하는 것입니다.)
경우에 따라서는 현재 동작중인 커널과 똑같은 버젼 소스에,
커널옵션도 똑같이 셋팅했음에도
에러가 나는 경우도 있었습니다 ;;
권장하기로는...
그냥 커널을 새로 컴파일 하는것을 권장합니다.
추가)
지금 다시 보니, 모듈 컴파일시에 옵션이 잘못 되었네요.
오케이 ^^그럴거 같았어요.. 답변고마워요..=.= 커널컴파일은 너무 싫
오케이 ^^그럴거 같았어요.. 답변고마워요..=.= 커널컴파일은 너무 싫어요..;; 오류 디따시 나대고 =.= ..;;
오류안나는 비결있으시면 알려주세요..
힘내세요.
댓글 달기