2016-12-21 4 views
1

yoctoプロジェクトでbitbakeを使用してos-imageをビルドしようとしています。私は次のエラーがあります。../util-linux-2.28.1/schedutils/chrt.c:88:17:エラー: '__NR_sched_setattr'は宣言されていません(この関数では最初に使用されます)

../util-linux-2.28.1/schedutils/chrt.c:88:17: error: ‘__NR_sched_setattr’ undeclared (first use in this function)

私はyoctoのメガマニュアルの指示に従いました。このビルドエラーを解決するには?

答えて

0

Yoctoのsysrootだけを見ているときに、ホストマシンからncursesヘッダーが見つかっている可能性があります。これを修正するa patchがあります。間もなくマスターになりそうです。現在パッチをローカルで使用するか回避策として、ビルドホストからlibncurses6およびlibncursesw6開発パッケージを削除してください。

4

このタイプのエラーメッセージは、システムコールをサポートしていないカーネル用にユーザスペースプログラムまたはライブラリが構築されている場合に表示されます。sched_setattrです。あなたが非常に古いlinux(3.14に登場)でビルドするか、あなたが構築しているアーチがこのシステムコールをサポートしていない(あなたがビルドしているアーチを指定していないのでチェックできません)。

どちらの方法でも、util-linuxのこの特定の部分を設定オプション--disable-schedutilsで無効にすることができます。この場合、デバイス上でchrt、ionice、taskset(プロセス操作)ツールを取得することはできませんが、おそらくあまり役​​に立ちません。 yoctoビルド環境で

、あなたが最初のutil-linuxのためのレシピを変更することができ、うまく実際には1つを追加することによって、(メタ/レシピコア/ utilの-linuxの/ utilの-linux.inc)、レシピのファイルを含めます行:

SHARED_EXTRA_OECONF = "--disable-use-tty-group \ 
         --disable-makeinstall-chown \ 
... 
         --disable-schedutils \ 
" 

となりますかどうかを確認してください。その後、あなたはあなたのconf/local.confにしたり、作業メタ層中のutil-linuxのbbappendファイル(あなたがそれを持っている場合)に

EXTRA_OECONF_append_util-linux = " --disable-schedutils" 

を追加することができます。

関連する問題