2016-09-06 4 views
0

私のYoctoイメージに1つのパッケージを追加しようとしています。現在、イメージを作成できますが、イメージをインストールすると、ソフトウェアは別のディレクトリにインストールされています。インストールディレクトリを再ルーティングする方法はありますか?例では、ライブラリファイルは/usr/lib64にインストールされますが、インストールされるファイルは/usr/lib/です。別のディレクトリにインストールするレシピファイル

私は、アプリケーションの.ipkファイルをビルドすると、/ usr/lib64 /フォルダが作成されていないことがわかりました。つまり、ファイルが追加されていないことを意味します。とにかくこれを解決するには?

FILES_${PN} = "/usr/lib/* \ 
       /usr/lib64/* \ 
       /usr/bin/* \ 
       /etc/* " 

アップデート1 これは私のdo_installコードです:

do_install(){ 
    cp -r ${WORKDIR}/xxx/* ${WORKDIR}/image/ 
    install -d ${D}/usr/lib64 
    install -m 0644 ${WORKDIR}/xxx/usr/lib64/* ${D}/usr/lib64/ 
} 

すべてのファイルがリストされているがIPKに追加されている

は、これは私のFILES _ $ {PN}コードですファイルは/usr/lib64/*以外のファイルです。これが正しい方法ですか?誰か助けてください。前もって感謝します。

+0

重複しますか? https://stackoverflow.com/questions/35206207/how-can-i-change-the-installation-path-of-an-autotools-based-bitbake-recipe – g0hl1n

+0

@ g0hl1nしかし、私はautotoolsを使用していません – anonymous5671

+1

それにもかかわらず、レシピがうまく書かれれば、対応する '接頭辞'変数を尊重すべきです。そうでない場合は、有効な回答を得るために質問にレシピを追加する必要があります。 – g0hl1n

答えて

0

あなたはレシピの中に手動でライブラリをインストールすることができます

do_install() { 
    install -d ${D}/usr/lib64  # ${D}${libdir} maybe also works 
    install -m 0644 libexample.a ${D}/usr/lib64 
} 

DReference Manualからの変数の説明:

先ディレクトリ。ビルド・ディレクトリ内の、do_installタスクによってコンポーネントがインストールされる場所。

$ {WORKDIR} /あなたは(例としてlibdir変数)コマンドを以下介して変数の内容を見つけることができる

画像:この場所のデフォルトは

bitbake -e | grep ^libdir 
+0

'bitbake -e | libdir_native = "/ usr/lib"に変更する必要があります – anonymous5671

+0

私はもう一度質問を編集しました – anonymous5671

+0

私はもしあれば'/ usr/lib'と'/usr/lib64'の両方が必要です – anonymous5671

関連する問題