원
내 호스트 Gentoo 설치는 stage3 tarball, systemd 버전에서 부팅됩니다. 내 crossdev 툴체인은 systemd 없이 처음부터 컴파일된 aarch64-unknown-linux-gnu입니다 --stable
. 대신 C 라이브러리의 경우 두 경우 모두 glibc가 사용됩니다. 설명서에 경고가 있습니다(약 1시간).여기) 일부 패키지는 @system
처음 제시되었을 때 빌드되지 않을 수 있다고 말했지만 나에게는 이런 일이 발생하지 않았습니다.
호스트( /var/db/repos/*
)의 모든 재정의는 대상 rootfs 내의 해당 디렉터리에 바인드 마운트됩니다.
emerge-chroot
대상 내에서 내부적으로 사용되는 명령을 복사하여 붙여넣습니다.매뉴얼에서:
alias emerge-chroot='ROOT=/ CBUILD=aarch64-unknown-linux-gnu HOSTCC=-gcc emerge'
질문
aarch64-unknown-linux-gnu-emerge -avuND @world
호스트 시스템에서 이 작업을 수행 하면 이머지는 "병합할 항목이 없습니다"라고 보고하고 종료됩니다.
# aarch64-unknown-linux-gnu-emerge -avuND @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 8.47 s.
Total: 0 packages, Size of downloads: 0 KiB
Nothing to merge; quitting.
그러나 툴체인에서 chroot를 실행하면 emerge-chroot -avuND @world
설치 예정인 패키지가 90개 이상인 것으로 나타났습니다. 주로 Perl 모듈과 bc
.
(aarch64) gentoo / # emerge-chroot -avuND @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 73.04 s (backtrack: 0/10).
[ebuild N ] dev-util/re2c-2.2::gentoo USE="-debug -test" 0 KiB
[ebuild N ] dev-util/gtk-doc-am-1.33.2::gentoo 0 KiB
[ebuild N ] net-libs/libtirpc-1.3.4:0/3::gentoo USE="(split-usr) -kerberos -static-libs" 0 KiB
[ebuild N ] net-libs/libnsl-2.0.0-r1:0/3::gentoo USE="-static-libs" 0 KiB
[ebuild N ] app-portage/elt-patches-20221210::gentoo 0 KiB
[ebuild N ] app-arch/unzip-6.0_p27-r1::gentoo USE="bzip2 (unicode) -natspec" 0 KiB
[ebuild N ] app-eselect/eselect-lib-bin-symlink-0.1.1-r1::gentoo 0 KiB
[ebuild N ] app-eselect/eselect-iptables-20220320::gentoo 0 KiB
[ebuild N ] app-eselect/eselect-pinentry-0.7.2-r1::gentoo 0 KiB
[ebuild N ] dev-util/meson-format-array-0::gentoo PYTHON_TARGETS="python3_11 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/installer-0.7.0::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/gpep517-15::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] app-text/build-docbook-catalog-2.4::gentoo 0 KiB
[ebuild N ] dev-libs/libxslt-1.1.38::gentoo USE="crypt -debug -examples -python -static-libs" PYTHON_TARGETS="python3_11 -python3_10 -python3_12" 0 KiB
[ebuild N ] app-arch/libarchive-3.7.2:0/13::gentoo USE="bzip2 e2fsprogs iconv lzma xattr -acl -blake2 -expat -lz4 -lzo -nettle -static-libs -verify-sig -zstd" 0 KiB
[ebuild N ] dev-python/flit-core-3.9.0::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] app-text/docbook-xsl-stylesheets-1.79.1-r4::gentoo USE="-ruby" 0 KiB
[ebuild N ] app-crypt/rhash-1.4.4:0/1::gentoo USE="nls ssl -debug -static-libs" 0 KiB
[ebuild N ] app-text/docbook-xsl-ns-stylesheets-1.79.1::gentoo USE="-ruby" 0 KiB
[ebuild N ] dev-python/editables-0.5::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/pathspec-0.11.2::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] app-text/docbook-xml-dtd-4.1.2-r7:4.1.2::gentoo 0 KiB
[ebuild N ] app-text/docbook-xml-dtd-4.2-r3:4.2::gentoo 0 KiB
[ebuild N ] app-text/docbook-xml-dtd-4.5-r2:4.5::gentoo 0 KiB
[ebuild N ] virtual/perl-ExtUtils-MakeMaker-7.700.0::gentoo 0 KiB
[ebuild N ] virtual/perl-ExtUtils-CBuilder-0.280.238::gentoo 0 KiB
[ebuild N ] virtual/perl-File-Spec-3.880.0::gentoo 0 KiB
[ebuild N ] virtual/perl-Scalar-List-Utils-1.630.0::gentoo 0 KiB
[ebuild N ] virtual/perl-ExtUtils-ParseXS-3.510.0::gentoo 0 KiB
[ebuild N ] virtual/perl-Carp-1.540.0::gentoo 0 KiB
[ebuild N ] virtual/perl-Exporter-5.770.0-r1::gentoo 0 KiB
[ebuild N ] virtual/perl-Digest-MD5-2.580.100_rc::gentoo 0 KiB
[ebuild N ] dev-perl/TimeDate-2.330.0-r1::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/Text-CharWidth-0.40.0-r2::gentoo USE="-test" 0 KiB
[ebuild N ] virtual/perl-ExtUtils-Install-2.220.0::gentoo 0 KiB
[ebuild N ] virtual/perl-ExtUtils-Manifest-1.730.0-r2::gentoo 0 KiB
[ebuild N ] virtual/perl-Getopt-Long-2.540.0::gentoo 0 KiB
[ebuild N ] virtual/perl-Module-Metadata-1.0.37-r3::gentoo 0 KiB
[ebuild N ] virtual/perl-Perl-OSType-1.10.0-r7::gentoo 0 KiB
[ebuild N ] virtual/perl-Text-ParseWords-3.310.0-r1::gentoo 0 KiB
[ebuild N ] virtual/perl-podlators-5.10.0::gentoo 0 KiB
[ebuild N ] virtual/perl-version-0.992.900-r1::gentoo 0 KiB
[ebuild N ] virtual/perl-CPAN-Meta-YAML-0.18.0-r9::gentoo 0 KiB
[ebuild N ] virtual/perl-JSON-PP-4.160.0-r1::gentoo 0 KiB
[ebuild N ] virtual/perl-Parse-CPAN-Meta-2.150.10-r7::gentoo 0 KiB
[ebuild N ] virtual/perl-IO-1.520.0::gentoo 0 KiB
[ebuild N ] virtual/perl-MIME-Base64-3.160.100_rc::gentoo 0 KiB
[ebuild N ] virtual/perl-Digest-SHA-6.40.0::gentoo 0 KiB
[ebuild N ] sys-apps/texinfo-7.0.3::gentoo USE="nls standalone -static" 0 KiB
[ebuild N ] dev-perl/Locale-gettext-1.70.0-r1::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/Digest-HMAC-1.40.0::gentoo 0 KiB
[ebuild N ] dev-perl/Pod-Parser-1.660.0::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/TermReadKey-2.380.0-r1::gentoo USE="-examples -test" 0 KiB
[ebuild N ] dev-perl/Text-WrapI18N-0.60.0-r2::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/YAML-Tiny-1.740.0::gentoo USE="-minimal -test" 0 KiB
[ebuild N ] dev-perl/MIME-Charset-1.13.1::gentoo USE="-test" L10N="-ja -zh" 0 KiB
[ebuild N ] virtual/perl-CPAN-Meta-2.150.10-r7::gentoo 0 KiB
[ebuild N ] dev-perl/Mozilla-CA-20999999-r1::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/Net-SSLeay-1.920.0-r1::gentoo USE="-examples -minimal -test" 0 KiB
[ebuild N ] dev-perl/Module-Build-0.423.400::gentoo USE="-test" 0 KiB
[ebuild N ] sys-apps/help2man-1.49.3::gentoo USE="nls" 0 KiB
[ebuild N ] dev-perl/Authen-SASL-2.170.0::gentoo USE="-kerberos -test" 0 KiB
[ebuild N ] dev-perl/Unicode-LineBreak-2019.1.0::gentoo 0 KiB
[ebuild N ] dev-perl/IO-Socket-SSL-2.83.0::gentoo USE="-examples -idn -test" 0 KiB
[ebuild N ] virtual/perl-libnet-3.150.0::gentoo USE="ssl" 0 KiB
[ebuild N ] dev-perl/Error-0.170.290::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/SGMLSpm-1.1-r2::gentoo USE="-test" 0 KiB
[ebuild N ] dev-perl/ExtUtils-CChecker-0.110.0::gentoo USE="-test" 0 KiB
[ebuild NS ] dev-lang/python-3.12.0:3.12::gentoo [3.11.6:3.11::gentoo] USE="ensurepip gdbm ncurses readline sqlite ssl -bluetooth -build -debug -examples -libedit -lto -pgo -test -tk -valgrind -verify-sig" 0 KiB
[ebuild N ] dev-perl/MailTools-2.210.0::gentoo USE="-examples -test" 0 KiB
[ebuild N ] dev-perl/XS-Parse-Keyword-0.380.0::gentoo USE="-test" 0 KiB
[ebuild N ] dev-util/ninja-1.11.1-r2::gentoo USE="-doc -emacs -test" 0 KiB
[ebuild N ] dev-lang/tcl-8.6.13-r1:0/8.6::gentoo USE="threads -debug" 0 KiB
[ebuild N ] dev-libs/libuv-1.46.0:0/1::gentoo 0 KiB
[ebuild N ] app-text/opensp-1.5.2-r10::gentoo USE="nls -doc -static-libs -test" 0 KiB
[ebuild N ] dev-perl/Syntax-Keyword-Try-0.280.0::gentoo USE="-test" 0 KiB
[ebuild N ] dev-vcs/git-2.42.0::gentoo USE="blksha1 curl gpg iconv nls pcre perl safe-directory webdav -cgi -cvs -doc -highlight -keyring (-mediawiki) -perforce (-selinux) -subversion -test -tk -xinetd" PYTHON_SINGLE_TARGET="python3_11 -python3_10 -python3_12" 0 KiB
[ebuild N ] app-text/po4a-0.69::gentoo USE="-test" 0 KiB
[ebuild N ] dev-util/meson-1.2.2-r1::gentoo USE="(-test)" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/calver-2022.06.26::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/cython-3.0.2-r1::gentoo USE="-debug -doc -test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/markupsafe-2.1.3::gentoo USE="-debug -test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/pygments-2.16.1::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/jinja-3.1.2::gentoo USE="-doc -examples -test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/pluggy-1.3.0::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/trove-classifiers-2023.9.19::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-libs/jsoncpp-1.9.5:0/25::gentoo USE="-doc -test" 0 KiB
[ebuild N ] dev-python/lxml-4.9.3-r2::gentoo USE="threads -debug -doc -examples -test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/docutils-0.20.1-r1::gentoo PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-python/hatchling-1.18.0::gentoo USE="-test" PYTHON_TARGETS="python3_11 -pypy3 -python3_10 -python3_12" 0 KiB
[ebuild N ] dev-util/cmake-3.27.7::gentoo USE="ncurses (-dap) -doc -emacs -gui (-qt6) -test -verify-sig" 0 KiB
[ebuild N ] sys-devel/bc-1.07.1-r6::gentoo USE="readline -libedit -static" 0 KiB
[ebuild N ] app-alternatives/bc-0::gentoo USE="gnu -gh" 0 KiB
Total: 93 packages (92 new, 1 in new slot), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
목록에서 패키지 중 하나를 명시적으로 불러오기 위해 툴체인의 호스트 부분을 사용해 보았습니다. 성공했습니다.
# aarch64-unknown-linux-gnu-emerge -avuND dev-util/re2c
그런 다음 툴체인 rootfs로 다시 루트를 지정하고 실행했는데 emerge-chroot -avuND @world
더 dev-util/re2c
이상 존재하지 않아 총 92개의 패키지가 보류 중입니다.
# emerge-chroot -avuND @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 72.06 s (backtrack: 0/10).
[ebuild N ] dev-util/gtk-doc-am-1.33.2::gentoo 0 KiB
[ebuild N ] net-libs/libtirpc-1.3.4:0/3::gentoo USE="(split-usr) -kerberos -static-libs" 0 KiB
[ebuild N ] net-libs/libnsl-2.0.0-r1:0/3::gentoo USE="-static-libs" 0 KiB
...
Total: 92 packages (91 new, 1 in new slot), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
크로스 컴파일러를 사용하여 최대한 많이 빌드하고 싶습니다. 분명히 위 목록에 있는 패키지 중 적어도 일부는 크로스 컴파일러를 사용하여 빌드할 수 있습니다.
aarch64-unknown-linux-gnu-emerge
동기화하는 방법 과 그 사이에 있는 것들 에 대한 아이디어가 있습니까 emerge-chroot
? emerge-chroot
출력에서 grep 및 sed 패키지 이름을 가져와 호스트에 제공 할 수 있다는 것을 알고 있지만 aarch64-unknown-linux-gnu-emerge
, 그렇게 하는 것이 올바른 방법이 아니라는 것을 알 수 있습니다.