質問: ### 前提・実現したいこと Raspberry Pi 3をEpson PX-105のプリントサーバーにしたいのですが、armhf向けのドライバがありません。 そこで、公開されていたsrc.rpmからビルドしようとしているのですが、依存関係のエラーが出ます。 どうすればこのエラーを解消出来るでしょうか。 ### 発生している問題・エラーメッセージ ``` $ rpmbuild --rebuild epson-inkjet-printer-201211j-1.0.1-1lsb3.2.src.rpm Installing epson-inkjet-printer-201211j-1.0.1-1lsb3.2.src.rpm error: Failed build dependencies: gzip is needed by epson-inkjet-printer-201211j-1.0.1-1lsb3.2.armv7hnl lsb-appchk is needed by epson-inkjet-printer-201211j-1.0.1-1lsb3.2.armv7hnl lsb-build-c++ is needed by epson-inkjet-printer-201211j-1.0.1-1lsb3.2.armv7hnl lsb-build-cc is needed by epson-inkjet-printer-201211j-1.0.1-1lsb3.2.armv7hnl ``` ### 該当のソースコード ### 試したこと 解凍して`BuildRequires:`をコメントアウトしてみても、途中までは進むものの下のようなエラーが出てしまいます。 ``` + %adjust_ppds /var/tmp/rpm-tmp.uhsCOz: 50: /var/tmp/rpm-tmp.uhsCOz: %adjust_ppds: not found error: Bad exit status from /var/tmp/rpm-tmp.uhsCOz (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.uhsCOz (%install) ``` lsb関連の利用できそうなパッケージがありません。 ``` $ apt search lsb ソート中... 完了 全文検索... 完了 alien/bionic,now 8.95 all [インストール済み、自動] convert and install rpm and other packages bilibop-rules/bionic 0.5.4 armhf device management rules for OS running from external media debian-goodies/bionic 0.79 all Debian システム用の小さなツールボックス形式のユーティリティ集 liblinux-distribution-perl/bionic 0.23-1 all module for detecting the running Linux distribution liblist-utilsby-perl/bionic 0.10-1 all higher-order list utility functions lsb/bionic,now 9.20170808ubuntu1 all [インストール済み] Linux Standard Base support package lsb-base/bionic,now 9.20170808ubuntu1 all [インストール済み] Linux Standard Base 初期化スクリプト用機能 lsb-core/bionic,now 9.20170808ubuntu1 armhf [インストール済み、自動] Linux Standard Base core support package lsb-invalid-mta/bionic,now 9.20170808ubuntu1 all [インストール済み、自動] Linux Standard Base sendmail dummy lsb-printing/bionic,now 9.20170808ubuntu1 armhf [インストール済み] Linux Standard Base Printing package lsb-release/bionic,now 9.20170808ubuntu1 all [インストール済み] Linux Standard Base バージョン報告ユーティリティ lsb-security/bionic,now 9.20170808ubuntu1 armhf [インストール済み、自動] Linux Standard Base Security package lysdr/bionic 1.0~git20141206+dfsg1-1build1 armhf Simple software-defined radio mksh/bionic 56c-1 armhf MirBSD Korn Shell picard-tools/bionic 2.8.1+dfsg-3 all Command line tools to manipulate SAM and BAM files systemd/bionic-updates 237-3ubuntu10.41 armhf [237-3ubuntu10.15 からアップグレード可] システムおよびサービスマネージャ systemd-sysv/bionic-updates 237-3ubuntu10.41 armhf [237-3ubuntu10.15 からアップグレード可] system and service manager - SysV links ``` ### 追記 これまでやってきたことをまとめ直します。 1. アーキテクチャが違ってインストールできないことを知る 2. 同時配布されていたsrc.rpmはビルドに使うためのファイルであることを知る 3. rpmなら、それを主に使っているCentOSの方がいいと思い、CentOS 7をインストール 4. 同じような依存関係の問題(エラーにgzipが含まれていたかは覚えていない)で出来ない 5. lsb-系のパッケージのインストール方法がわからない 6. 検索してもaptを使う方法ばかり出てくるので、Ubnutu Mate 18.04をインストール 7. 紹介されていたaptのコマンドもパッケージが見つからなく失敗する 8. 仕方なくBuildRequiresをコメントアウトしてみる 9. 失敗する(記述済) 10. lsbが入っていないのが原因と考える(gzipは実際は入っていて使えるため) 11. 入れられそうなlsbのパッケージがないか調べるが見つからない(記述済) 12. どうしようもなくなり質問する ``` $ sudo apt-get install lsb-build-base3 lsb-build-cc3 lsb-appchk3 lsb-pkgchk3 lsb lsb-rpm パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ lsb-build-base3 が見つかりません E: パッケージ lsb-build-cc3 が見つかりません E: パッケージ lsb-appchk3 が見つかりません E: パッケージ lsb-pkgchk3 が見つかりません E: パッケージ lsb-rpm が見つかりません ``` * (RaspbianでもUbuntuでもCentOSでもいいので)lsb-系のインストール方法 * `%adjust_ppds: not found`エラーの解決方法 * その他、何らかの方法でビルドを成功させる方法 * ビルド以外でのarmhf用ドライバの入手方法 * ドライバ無しでプリンターを扱う方法 のどれかが分かればこの問題は解決出来ると思います。 ### 補足情報(FW/ツールのバージョンなど) Raspberry Pi 3 B 1.2 Ubuntu MATE 18.04 gzip 1.6がプリインストール済 しっかり書いた質問が全部消えてイライラしながら書いてますので、 その他必要な情報があれば言ってください。
回答: ちょっと大がかりになりますが、 1. Raspbery PiにCentOSを入れる。 RaspberryPi 3 model B に CentOS7をインストール 2. Raspbery PiのCentOS上でsrpmからaarch用のrpmパッケージを作る。 3. alienでdebパッケージを作る。 4. debパッケージをubuntuのRaspbery Piに導入する。 というのはどうでしょうか?