takano32 / build-kernel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Gentoo Linux] `make bindeb-pkg` に失敗する

takano32 opened this issue · comments

パッケージの依存関係がおかしい、みたいなことを言われるが Gentoo には該当するパッケージがない。

  • 依存関係として表示されているものについてバイナリが入っていることを確認
  • 依存関係のチェックをしないようにする

という対応で Debian パッケージが作成できそうではあるが、ほんとうに使えるものがビルドできるのか謎はある。

なお、すでに app-arch/rpm の導入で make binrpm-pkg には成功している。

+ make -j 32 bindeb-pkg O=/build-kernel/build/ LOCALVERSION=-20230517
  GEN     debian
Using default distribution of 'unstable' in the changelog
Install lsb-release or set $KDEB_CHANGELOG_DIST explicitly
dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch)  -b -nc -uc
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 6.3.0-2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by root <root@4811f668a9b3>
dpkg-architecture: warning: specified GNU system type x86_64-linux-gnu does not match CC system type x86_64-pc-linux-gnu, try setting a correct CC environment variable
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-checkbuilddeps: error: cannot open /var/lib/dpkg/status: No such file or directory
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
make[2]: *** [/build-kernel/linux/scripts/Makefile.package:114: bindeb-pkg] Error 3
make[1]: *** [/build-kernel/linux/Makefile:1656: bindeb-pkg] Error 2
make: *** [Makefile:226: __sub-make] Error 2
+ make -j 8 bindeb-pkg O=/build-kernel/build/ LOCALVERSION=-20230522
  GEN     debian
Using default distribution of 'unstable' in the changelog
Install lsb-release or set $KDEB_CHANGELOG_DIST explicitly
dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch)  -b -nc -uc
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 6.3.0-2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by root <root@4ca64af9abd7>
dpkg-architecture: warning: specified GNU system type x86_64-linux-gnu does not match CC system type x86_64-pc-linux-gnu, try setting a correct CC environment variable
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
dpkg-checkbuilddeps: error: Unmet build dependencies: bc debhelper rsync kmod cpio bison flex libssl-dev:native
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
make[2]: *** [/build-kernel/linux/scripts/Makefile.package:114: bindeb-pkg] Error 3
make[1]: *** [/build-kernel/linux/Makefile:1656: bindeb-pkg] Error 2
make: *** [Makefile:226: __sub-make] Error 2

real	0m1.705s
user	0m0.829s
sys	0m0.696s

仕組みとして必要なものが RPM などで入っていると dpkg --list で依存パッケージがインストールされていないことがある。

インストールされている状態と認識されないと依存パッケージのチェックを無視してビルドすることが難しい。

また、そのパッケージのチェックを RPM で行うことが常に行えるとは思えないので apt で基本的なパッケージを入れていないディストリビューションについては *.deb パッケージのビルドをしないことにします。

必然的に「apt でコンパイル環境を作っていて rpmbuild が使える場合は rpm パッケージもついでに作成する」という範囲にします。

Gentoo Linux は emerge で整えているので除外することになりました。