質問: カーネルのコンフィグレーションを変更して再ビルドすると下記のエラーに成ります。 ``` make[2]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx/sched' に入ります make[2]: *** 'clock_initialize.o' に必要なターゲット '/home/soeta/MyHome/spresense/nuttx/include/nuttx/config.h' を make するルールがありません. 中止. make[2]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx/sched' から出ます LibTargets.mk:68: ターゲット 'sched/libsched.a' のレシピで失敗しました make[1]: *** [sched/libsched.a] エラー 2 make[1]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx' から出ます Makefile:131: ターゲット 'buildkernel' のレシピで失敗しました make: *** [buildkernel] エラー 2 ``` 上記のディレクトリに新しく生成されたconfig.h は,存在します。 対処方法を教えて下さい。 以上よろしくお願いします。
回答: なぜか nuttx/sched/Make.dep のmake依存関係ファイルが壊れてしまったとかでしょうか。 ``` $ make distcleankernel ``` してから再度カーネルのコンフィグレーションからやり直してみるのが良いと思います。 distcleankernelするとコンフィグレーションファイル(nuttx/.config)も削除されてしまうので、 それを避けたい場合は、 ``` $ cd sdk $ ./tools/mkdefconfig.py -k tmp ``` と、configs/kernel/tmp-defconfig に一旦コンフィグレーションファイルを保存しておいてから、 ``` $ make distcleankernel $ ./tools/config.py -k tmp $ make buildkernel ``` とカーネルビルドをやり直してみてください