FreePBX(RHEL)에서 DAHDI라는 커널 모듈을 컴파일하려고 합니다. 다음과 같은 make 출력 오류가 발생합니다.
You do not appear to have the sources for the 3.10.0-957.21.3.el7.x86_64 kernel installed.
하지만 커널 버전, 헤더, 구성 파일을 확인했고 모두 일치하기 때문에 그것이 문제라고 생각하지 않습니다. Makefile에는 다음 블록이 있습니다.
KCONFIG:=$(KSRC)/.config
ifneq (,$(wildcard $(KCONFIG)))
HAS_KSRC:=yes
include $(KCONFIG)
else
HAS_KSRC:=no
endif
$(KCONFIG)
"/.config"를 반환합니다. $(HAS_KSRC)
"아니요"를 반환합니다. $(wildcard $(KCONFIG))
아무것도 반환하지 않습니다. 이 오류는 에서 발생합니다 ifeq (no,$(HAS_KSRC))
. 즉, "와일드카드"가 적용될 때까지 커널 구성 파일을 살펴봅니다.
이 와일드카드(명령??)의 기능은 무엇인가요?
# cat /proc/version
Linux version 3.10.0-957.21.3.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue Jun 18 16:35:19 UTC 2019
답변1
소스 트리가 있는 것처럼 보이지만 현재 구성되어 있지 않습니다(그래서 .config
누락된 것입니다).
노력하다:
- /boot/config-를 ${KSRC}/.config에 복사합니다.
또는
make oldconfig
커널 소스 트리에서 실행