Goverp Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/152613747847c6fd276c31a.jpg)
Joined: 07 Mar 2007 Posts: 2017
|
Posted: Thu Apr 25, 2024 3:37 pm Post subject: --backtrack makes my brain hurt |
|
|
For historical reasons, I had firefox ~amd64, and as a result a number of prerequisite libraries also ~amd64. I decided to tidy this up, switch to firefox:rapid, and backlevel those libraries by removing the ~amd64 entries from package.accept_keywords. At this point portage decided to recompile several things, including annoyingly qtwebengine, to fit with the backlevelled libraries. Fine, I accept that's needed. All fine, at least in my chroot jail where I build binpkg versions to later install on a couple of boxes.
Code: | emerge --update --deep --changed-use @world
emerge --depclean |
had run to completion successfully.
Now I tried to install the binpkgs on my desktop box, with exactly the same emerge calls, but "--usepkg y" in make.conf. And emerge starts wanting to compile stuff outside those binpkgs. Odd. I thought I'd forgotten something, so went back to the chroot, and reran
Code: | emerge --update --deep --changed-use @world |
and it came up with more recompilations, including damned qtwebengine!
I played about a bit, and found that if I added "--backtrack 0" to the emerge parameters, on my desktop, emerge was happy to just install the binpkgs. And in the chroot, emerge said there was nothing to do.
Now that to me makes no sense - if "--backtrack 0" works, "--backtrack 20" should not find more work to do, since backtracking should only happen if emerge can't find a way to meet my requirements using "--backtrack 0"!
I probably misunderstand something.
FWIW, here's two consecutive console logs from my desktop showing the problem (note the mix of binary and ebuild rebuilds):
Code: | ryzen ~ # emerge -p --update --deep --changed-use @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 38.24 s (backtrack: 3/20).
[binary N ] x11-base/xorg-proto-2023.2 USE="-test"
[binary N ] dev-build/autoconf-wrapper-20231224
[binary N ] dev-build/automake-wrapper-20221207
[binary N ] dev-util/re2c-2.2 USE="-debug -test"
[binary N ] dev-util/wayland-scanner-1.22.0
[binary N ] app-portage/elt-patches-20240315
[binary N ] dev-util/glib-utils-2.78.3 PYTHON_SINGLE_TARGET="python3_11 -python3_10 -python3_12"
[binary N ] dev-build/meson-1.3.2 USE="(-test) -verify-sig" PYTHON_TARGETS="python3_11 (-pypy3) -python3_10 -python3_12"
[ebuild N ] dev-build/meson-format-array-0 PYTHON_TARGETS="python3_11 -python3_10 -python3_12"
[binary N ] dev-util/gperf-3.1-r2
[binary N ] virtual/perl-JSON-PP-4.160.0-r1
[binary NS ] dev-lang/python-3.12.3 [3.11.8_p1]
[binary N ] sys-devel/m4-1.4.19-r2 USE="nls -examples -verify-sig"
[ebuild N ] dev-lang/yasm-1.3.0-r1 USE="nls"
[binary N ] dev-build/autoconf-2.71-r6 USE="-emacs"
[binary N ] dev-build/automake-1.16.5-r2 USE="-test"
[binary N ] dev-build/libtool-2.4.7-r4 USE="-vanilla"
[ebuild rR ] media-plugins/gst-plugins-vpx-1.22.11
[binary N ] sys-devel/bison-3.8.2-r2 USE="nls -examples -static -test -verify-sig"
[binary N ] app-alternatives/yacc-1-r2 USE="bison -byacc -reference"
[binary N ] sys-devel/flex-2.6.4-r6 USE="nls -static -test" ABI_X86="(64) -32 (-x32)"
[binary N ] app-alternatives/lex-0-r1 USE="flex -reflex"
[ebuild rR ] dev-qt/qtwebengine-5.15.13_p20240322
[ebuild rR ] media-video/ffmpeg-6.1.1-r5
[ebuild rR ] media-video/vlc-3.0.20-r10
!!! The following binary packages have been ignored due to changed dependencies:
dev-build/meson-format-array-0::gentoo
NOTE: The --binpkg-changed-deps=n option will prevent emerge
from ignoring these binary packages if possible.
Using --binpkg-changed-deps=y will silence this warning.
|
Code: |
ryzen ~ # emerge -p --update --deep --changed-use --backtrack 0 @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 10.98 s (backtrack: 0/0). |
_________________ Greybeard |
|