3.busyboxをコンパイルする時にエラーが発生しました。
1981 ワード
一部の内容はhttp://blog.chinaunix.net/uid-23089249-id-34503.htmlを削除します
1、inotifydエラー
busybox-1.11.1をクロスコンパイルした場合、以下のエラーが発生しました。
解決方法:
エラー情報は以下の通りです。
1、inotifydエラー
busybox-1.11.1をクロスコンパイルした場合、以下のエラーが発生しました。
CC miscutils/inotifyd.o
miscutils/inotifyd.c:31:27: linux/inotify.h: No such file or directory
miscutils/inotifyd.c: In function `inotifyd_main':
miscutils/inotifyd.c:61: error: `IN_ALL_EVENTS' undeclared (first use in this function)
miscutils/inotifyd.c:61: error: (Each undeclared identifier is reported only once
miscutils/inotifyd.c:61: error: for each function it appears in.)
miscutils/inotifyd.c:129: error: dereferencing pointer to incomplete type
miscutils/inotifyd.c:139: error: dereferencing pointer to incomplete type
miscutils/inotifyd.c:140: error: dereferencing pointer to incomplete type
miscutils/inotifyd.c:140: error: dereferencing pointer to incomplete type
miscutils/inotifyd.c:143: error: invalid application of `sizeof' to incomplete type `inotify_event'
miscutils/inotifyd.c:143: error: dereferencing pointer to incomplete type
make[1]: *** [miscutils/inotifyd.o] Error 1
make: *** [miscutils] Error 2
オンラインでは、これはbusyboxの一つのバグと言います。解決方法:inotifyedに対する支持をなくして、具体的な手順は以下の通りです。# make menuconfig
Miscellaneous Utilities --->
[ ]inotifyd
もう一つのバグはtasksetで、それを削除します。でないと、時又のコンパイルは間違います。Miscellaneous Utilities --->
[ ]taskset
2、起動時にBusyBoxから「/bin/sh:can't access ty;job consone turn off」というメッセージがあります。解決方法:
shell --->
[ ]Job Console
[*]Cttyhack
3、ARPHRD_が定義されていませんINFINIBANDエラー情報は以下の通りです。
networking/interface.c:818: error: 'ARPHRD_INFINIBAND' undeclared here (not in a function)
make[1]: *** [networking/interface.o] Error 1
make: *** [networking] Error 2
カーネルソースコードディレクトリの「include/linux/ifarp.h」ファイルを見ると、「ARPHRDuINFINIBAND」の値は「32」となります。その後、「networking/interface.cl」ファイルを修正し、ここに追加する:#define ARPHRD_INFINIBAND 32 /* InfiniBand */