ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2013年8月6日 星期二

XXX is not clean, please run 'make mrproper'

奇怪的,每次作menuconfig 後,make 都會出現:
  Using /home/charles-chang/Android/kernel as source for kernel
  /home/charles-chang/Android/kernel is not clean, please run 'make mrproper'
查一下這段 message 是出自於 kernel/Makefile:
# prepare3 is used to check if we are building in a separate output directory,
# and if so do:
# 1) Check that make has not been executed in the kernel src $(srctree)
prepare3: include/config/kernel.release
ifneq ($(KBUILD_SRC),)
        @$(kecho) '  Using $(srctree) as source for kernel'
        $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
                echo "  $(srctree) is not clean, please run 'make mrproper'";\
                echo "  in the '$(srctree)' directory.";\
                /bin/false; \
        fi;
endif
是說,如果是有用 "O= " 指定 output path的話,檢查一下 .config 或是 include/config 在不在。
如果在的話,就 error。顯示 XXX is not clean, please run 'make mrproper'

結果檢查一下, .config 是不在 (因為是在 out),
include/config 卻有,裡面是空的。

run make mrproper 也沒刪掉。

所以只好手動刪了。
之後 run make 就 OK 了。


這是因為是在有指定 O= (output folder) 的狀況下作 make, 但是又忘記設定 O= 選項。
導致 menuconfig 把 config 寫在 source 目錄,不在 out 目錄。

沒有留言:

標籤

網誌存檔