[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:38545] dpkg-crossによるパッケージのインストールについて
高田と申します。
クロス環境でパッケージのビルドを行っているのですが、
dpkg-crossでクロス開発用パッケージを生成しインストールする場合、
そのパッケージが依存しているパッケージがインストールされなかった
(クロス開発用パッケージとしてはインストールが skipされる)ために、
エラーとなってしまうことがあります。
このような場合、どのように対処するのが望ましいでしょうか?
とりあえず、このような問題の発生するパッケージに対しては
パッケージの依存関係をはずしたソースパッケージをクロス開発用に作成し
リビルドすることで問題を回避していますが、何かよい解決策はないでしょうか?
ご教授よろしくお願い致します。
例えば、flexの場合を例にとり説明すると、
(dpkg-cross 1.14では出力されるメッセージが繁雑なので 1.13.1で説明します)
flexは m4に依存していますが、m4パッケージはヘッダファイルや
ライブラリを含んでいないので、
# dpkg-cross -i m4_1.4-17_m32r.deb
dpkg-cross: package m4 doesn't provide any useful files. Skipping.
となり、m4パッケージはクロス開発環境にはインストールされません。
このため、flexをインストールしようとしても、クロス環境用に生成される
flex-m32r-crossパッケージが m4-m32r-crossに依存していることから
# dpkg-cross -i flex_2.5.31-16_m32r.deb
Building flex-m32r-cross_2.5.31-16_all.deb
Unpacking flex-m32r-cross
dpkg: dependency problems prevent configuration of flex-m32r-cross:
flex-m32r-cross depends on m4-m32r-cross; however:
Package m4-m32r-cross is not installed.
dpkg: error processing flex-m32r-cross (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
flex-m32r-cross
dpkg -i failed.
となって、インストールに失敗してしまいます。
---
高田 浩和 (Hirokazu Takata)
takata.hirokazu@xxxxxxxxxxx, takata@xxxxxxxxxxxxxx