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
カーネルソースツリーで実行