View previous topic :: View next topic |
Author |
Message |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Sun Mar 16, 2025 7:29 am Post subject: handling "=" dependencies... |
|
|
When there's a
DEPEND="dev-libs/icu:="
in an ebuild, I take it that if icu gets rebuilt for upgrade, that ebuild package must also be rebuilt.
What happens if icu gets rebuilt and then the computer crashes/reboots/... immediately after icu finishes? Does portage atomically save up and build all packages with the = operator and installs them all at the same time?
I'm trying to figure out why my machine seems to have a clean emerge --emptyuse @world but doing --update --deep --newuse @world fails reporting it can't find a package that has been removed from the tree, specifically icu-74. Is it possible for a package to no longer want to be rebuilt if icu-76 got rebuilt and a system crash occurs, and emerge is restarted from the top? Would this be a bug? Is there a tool to fix this? _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
bunder Bodhisattva

Joined: 10 Apr 2004 Posts: 5954
|
Posted: Sun Mar 16, 2025 9:21 am Post subject: |
|
|
If emerge crashes, sometimes you can get it back with emerge --resume, but if you ran another instance of emerge, or if it's being called from another tool that calls emerge in multiple steps (like crossdev or maybe revdep-rebuild), then that might not be enough to finish what was being done at the time... it's pretty situational.
That said, to answer your other question, you might be able to use a combination of equery depends and equery depgraph to find out what wants the old icu, so you can selectively upgrade it, hopefully giving you a clean emerge --update @world afterwards.
Cheers _________________
Neddyseagoon wrote: | The problem with leaving is that you can only do it once and it reduces your influence. |
banned from #gentoo since sept 2017 |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Sun Mar 16, 2025 10:10 am Post subject: |
|
|
Yeah was afraid of that, had to emerge other stuff to fix the stoppages from fixing configs or downloading files. Seems there should be a better way to handle these.
The reverse dependencies of icu is very very bad on a Gnome machine because it goes through a lot of crap, and glib also seems to have "=" dependencies as well so that trees up even more. I was hoping @preserved-rebuild was enough but don't think it is. revdep-rebuild I don't know if it will work... depgraph is promising but a lot... but at least it's probably still less than the restart of --emptytree that I did again... 1300 packages... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
sam_ Developer


Joined: 14 Aug 2020 Posts: 2224
|
Posted: Sun Mar 16, 2025 10:41 am Post subject: |
|
|
The VDB records the last subslot a package was built against, so running emerge -a -uvDU @world (or whatever) again should queue the remaining things for rebuild. |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Sun Mar 16, 2025 4:38 pm Post subject: |
|
|
For some reason it doesn't seem to want to upgrade them, not sure why -uDN @world doesn't want to touch these packages (backtrack count is like something from 2 to 5 and says "installed" versus "queued for upgrade") but --emptytree will provide a solution without backtracking. I got a couple to rebuild by manually rebuilding (specifically got qtcore 5.15.14 upgraded to 5.15.16 and its co-dependencies) but ran into that reverse dependency hell with glib.
I'm --emptytree again so if it dies again without resolving the issue, (it's a 2C4T laptop so it will be a while even with distcc help) i'll try to post a more detailed diagnostic... I suppose the --emptytree isn't all a waste other than it failing, because I never did the --emptytree when migrating to profile 23.
(hmm... this laptop might be a good candidate for chroot build because it and my 10 core xeon are both ivybridge...)
Note: portage dying includes distfiles missing, i tried to set up al of my machines to fetch distfiles from my server and sometimes it doesn't have the package downloaded in time.) _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Sun Mar 16, 2025 6:36 pm Post subject: |
|
|
I think you've misread portage output as if something still needed the old icu libraries they would be preserved and you would get a message there were preserved libs. Can you check is an update to icu indeed happened or this was just a rebuild for some reason?
Best Regards,
Georgi |
|
Back to top |
|
 |
sam_ Developer


Joined: 14 Aug 2020 Posts: 2224
|
Posted: Sun Mar 16, 2025 6:37 pm Post subject: |
|
|
Note also that glib is a distinct case, it doesn't use subslots at all or := deps. I think there's more going on here and hard to say without some proper output. |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Sun Mar 16, 2025 9:29 pm Post subject: |
|
|
Well, icu was upgraded to 76 and a whole bunch of other stuff, when I emerge --update @world, wanted to re-merge icu-74 because it was missing...of course it's missing, it was just updated to 76. However there were a bunch of conflicts with these consumers of icu stating they can't be updated for whatever reason -- there were some that would (and hence be linked with icu-76) but others were not tagged.
IIRC it was one of glib's dependencies that had an := dependency and that dependency was tied to icu. So both that dependency and glib needed to be upgraded. But yeah it wasn't glib that was the problem, looks like evolution-data-server is a problem...
Code: | $ emerge -uDNp @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 52.14 s (backtrack: 2/20).
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
gnome-extra/evolution-data-server:0
(gnome-extra/evolution-data-server-3.52.4-r2:0/64-11-21-4-3-27-2-27-4-0::gentoo, ebuild scheduled for merge) USE="gnome-online-accounts gtk introspection sound vala weather -berkdb -gtk-doc -kerberos -ldap -oauth-gtk3 -oauth-gtk4 -test" ABI_X86="(64)" pulled in by
>=gnome-extra/evolution-data-server-3.52.4:=[gtk,sound?,weather?] required by (mail-client/evolution-3.52.4-r2:2.0/2.0::gentoo, ebuild scheduled for merge) USE="bogofilter libnotify sound spell ssl weather -archive -geolocation -gtk-doc -highlight -ldap (-selinux) -spamassassin -ytnef" ABI_X86="(64)"
^^ ^^^^^^
(gnome-extra/evolution-data-server-3.50.2-r1:0/64-11-21-4-2-27-2-27-4-0::gentoo, installed) USE="gnome-online-accounts gtk introspection vala weather -berkdb -gtk-doc -kerberos -ldap -oauth-gtk3 -oauth-gtk4 -test" ABI_X86="(64)" pulled in by
>=gnome-extra/evolution-data-server-3.38:0/64-11-21-4-2-27-2-27-4-0= required by (dev-libs/folks-0.15.9:0/26::gentoo, installed) USE="bluetooth eds (-telepathy) -test -utils" ABI_X86="(64)"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also ... [truncated]
The following packages are causing rebuilds:
(app-text/poppler-25.02.0:0/146::gentoo, ebuild scheduled for merge) causes rebuilds for:
(app-misc/tracker-miners-3.6.2:3/3::gentoo, ebuild scheduled for merge)
emerge: there are no ebuilds to satisfy "dev-libs/icu:0/74.1=".
(dependency required by "gnome-extra/evolution-data-server-3.50.2-r1::gentoo" [installed])
(dependency required by "dev-libs/folks-0.15.9::gentoo[eds]" [installed])
(dependency required by "gnome-extra/gnome-contacts-46.0::gentoo" [ebuild])
(dependency required by "gnome-base/gnome-core-apps-45.2::gentoo" [installed])
(dependency required by "gnome-base/gnome-45.2::gentoo" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
|
Theoretically folks should have been targeted for upgrade/merge too, why it isn't I don't know. The only thing that historically help me solve issues is the "no ebuilds to satisfy" clause at the end...but this is exactly what needs to be upgraded! The weird thing I don't get is the 64-11-21-4-2-27-2-27-4-0 ... this doesn't make sense (and is in my /var/db/pkg ... maybe I merged folks with a bad portage at one point?)
the --emptytree (with --keep-going) is still going right now... already failed on a few packages due to missing distfiles but so be it, keep going... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23210
|
Posted: Sun Mar 16, 2025 10:00 pm Post subject: |
|
|
gnome-extra/evolution-data-server has a very complicated subslot, which a comment in the ebuild explains as: subslot = libcamel-1.2/libebackend-1.2/libebook-1.2/libebook-contacts-1.2/libecal-2.0/libedata-book-1.2/libedata-cal-2.0/libedataserver-1.2/libedataserverui-1.2/libedataserverui4-1.0 soname version. I think the value you see is plausible, and is in the VDB because Portage correctly copied the then-live subslot of evolution-data-server into the VDB dependency data for folks.
I see that there are no newer versions of dev-libs/folks available. Perhaps the way you invoked emerge caused it to skip folks since that would be a rebuild at the same level, rather than an update. However, this is pure speculation on my part.
If folks is not upgraded, then Portage wants old evolution-data-server, which wants old icu. So I think everything comes down to "Why is Portage not choosing to re-emerge folks?" |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Sun Mar 16, 2025 11:47 pm Post subject: |
|
|
Ah, now that makes sense, thanks.
Still is weird - folks is a dependency of @world as seen in the stack posted:
@world @selected gnome gnome-core-apps gnome-contacts folks
The other curious thing is the:
(dependency required by "dev-libs/folks-0.15.9::gentoo[eds]" [installed])
(dependency required by "gnome-extra/gnome-contacts-46.0::gentoo" [ebuild])
... not sure what the significance of that is. In fact that might be the missing link to figuring what's going on here... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 4:40 am Post subject: |
|
|
eccerr0r wrote: | Well, icu was upgraded to 76 and a whole bunch of other stuff, when I emerge --update @world, wanted to re-merge icu-74 because it was missing...of course it's missing, it was just updated to 76. |
That's not a normal situation. An upgrade can or can not go, there shouldn't be a third option. If there were packages which wanted conflicting icu versions, portage should have shown an error and quit.
What else did you do to make it continue? Keep- going?
Best Regards,
Georgi |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 4:52 am Post subject: |
|
|
I usually have --keep-going on any run, but inevitably there will be problems that will stop the merge. I rarely am successful to use --resume so typically I end up re-starting emerge from the start just as I initially started the first time.
This emptytree run has also ended prematurely a few times already, which is not a good sign... will probably need to restart it again and hope I get a different result after fixing the issues that caused them fixed... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 5:42 am Post subject: Re: handling "=" dependencies... |
|
|
eccerr0r wrote: |
Code: | $ emerge -uDNp @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 52.14 s (backtrack: 2/20).
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
gnome-extra/evolution-data-server:0
(gnome-extra/evolution-data-server-3.52.4-r2:0/64-11-21-4-3-27-2-27-4-0::gentoo, ebuild scheduled for merge) USE="gnome-online-accounts gtk introspection sound vala weather -berkdb -gtk-doc -kerberos -ldap -oauth-gtk3 -oauth-gtk4 -test" ABI_X86="(64)" pulled in by
>=gnome-extra/evolution-data-server-3.52.4:=[gtk,sound?,weather?] required by (mail-client/evolution-3.52.4-r2:2.0/2.0::gentoo, ebuild scheduled for merge) USE="bogofilter libnotify sound spell ssl weather -archive -geolocation -gtk-doc -highlight -ldap (-selinux) -spamassassin -ytnef" ABI_X86="(64)"
^^ ^^^^^^
(gnome-extra/evolution-data-server-3.50.2-r1:0/64-11-21-4-2-27-2-27-4-0::gentoo, installed) USE="gnome-online-accounts gtk introspection vala weather -berkdb -gtk-doc -kerberos -ldap -oauth-gtk3 -oauth-gtk4 -test" ABI_X86="(64)" pulled in by
>=gnome-extra/evolution-data-server-3.38:0/64-11-21-4-2-27-2-27-4-0= required by (dev-libs/folks-0.15.9:0/26::gentoo, installed) USE="bluetooth eds (-telepathy) -test -utils" ABI_X86="(64)"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also ... [truncated]
The following packages are causing rebuilds:
(app-text/poppler-25.02.0:0/146::gentoo, ebuild scheduled for merge) causes rebuilds for:
(app-misc/tracker-miners-3.6.2:3/3::gentoo, ebuild scheduled for merge)
emerge: there are no ebuilds to satisfy "dev-libs/icu:0/74.1=".
(dependency required by "gnome-extra/evolution-data-server-3.50.2-r1::gentoo" [installed])
(dependency required by "dev-libs/folks-0.15.9::gentoo[eds]" [installed])
(dependency required by "gnome-extra/gnome-contacts-46.0::gentoo" [ebuild])
(dependency required by "gnome-base/gnome-core-apps-45.2::gentoo" [installed])
(dependency required by "gnome-base/gnome-45.2::gentoo" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
|
|
This conflict has no relationship to icu update whatsoever.
eccerr0r wrote: | I usually have --keep-going on any run |
Keep-going was just a shot in the dark, quite likely not related, nevertheless holds potential for complications though.
eccerr0r wrote: | but inevitably there will be problems that will stop the merge. |
That's not normal.
eccerr0r wrote: | I rarely am successful to use --resume so typically I end up re-starting emerge from the start just as I initially started the first time. |
Neither is that.
eccerr0r wrote: | This emptytree run has also ended prematurely a few times already, which is not a good sign... will probably need to restart it again and hope I get a different result after fixing the issues that caused them fixed... |
Neither that.
As Sam suggested, there's something more going on here but you've already messed the leads. Next time get to the matter right away instead of engaging in theoretical discussions.
eccerr0r wrote: | When there's a
DEPEND="dev-libs/icu:="
in an ebuild, I take it that if icu gets rebuilt for upgrade, that ebuild package must also be rebuilt.
What happens if icu gets rebuilt and then the computer crashes/reboots/... immediately after icu finishes? | Preserved libs kicks in. No library is unmerged while it's still needed.
eccerr0r wrote: | Does portage atomically save up and build all packages with the = operator and installs them all at the same time? |
No, it's all recorded in VDB and portage just calculates the dependency graph based on that which will inevitably include the packages needing rebuild. I already told you your emerge shouldn't have proceeded if there were conflicting versions required.
eccerr0r wrote: | I'm trying to figure out why my machine seems to have a clean emerge --emptyuse @world but doing --update --deep --newuse @world fails reporting it can't find a package that has been removed from the tree, specifically icu-74. |
Well that's no longer the case. You said there were issues with that too.
eccerr0r wrote: | Is it possible for a package to no longer want to be rebuilt if icu-76 got rebuilt and a system crash occurs, and emerge is restarted from the top? Would this be a bug? Is there a tool to fix this? |
No to all. The tool is you.
Have you cleaned your world/sets recently? I suspect there's something going on either there or in package.use/accept_keyword.
p.s. Code: | ~ # USE="gnome-online-accounts" emerge -av evolution-data-server folks evolution
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 6.97 s (backtrack: 0/20).
[ebuild N ] dev-util/unifdef-2.12-r1::gentoo 0 KiB
[ebuild N ] app-arch/pax-20201030::gentoo 0 KiB
[ebuild N ] sci-libs/gsl-2.7.1-r3:0/27::gentoo USE="deprecated -cblas-external -static-libs" 0 KiB
[ebuild N ] mail-filter/bogofilter-1.2.5-r1::gentoo USE="sqlite -berkdb -tokyocabinet" 0 KiB
[ebuild N ] media-libs/woff2-1.0.2-r6::gentoo 0 KiB
[ebuild N ] sys-apps/xdg-dbus-proxy-0.1.5::gentoo USE="-test" 0 KiB
[ebuild N ] gnome-base/gnome-common-3.18.0-r2:3::gentoo 153 KiB
[ebuild N ] net-libs/rest-0.9.1-r1:1.0::gentoo USE="introspection -gtk-doc -test -vala" 70 KiB
[ebuild N ] dev-util/gdbus-codegen-2.82.5::gentoo PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13" 5,425 KiB
[ebuild N ] net-libs/webkit-gtk-2.46.5-r410:4.1/0::gentoo USE="X gstreamer introspection jumbo-build keyring lcms pdf (seccomp) spell systemd wayland (-aqua) -avif -examples -gamepad -jpegxl" 41,894 KiB
[ebuild N ] net-libs/gnome-online-accounts-3.50.4:0/1::gentoo USE="gnome introspection vala -debug -gtk-doc -kerberos -man -ms365" 398 KiB
[ebuild R ] gnome-base/gnome-control-center-46.4-r1:2::gentoo USE="bluetooth cups geolocation gnome-online-accounts* ibus networkmanager systemd wayland -debug (-elogind) -kerberos -test" INPUT_DEVICES="-wacom" 0 KiB
[ebuild R ] gnome-extra/evolution-data-server-3.52.4-r2:0/64-11-21-4-3-27-2-27-4-0::gentoo USE="gnome-online-accounts* gtk introspection sound vala weather -berkdb -gtk-doc -kerberos -ldap -oauth-gtk3 -oauth-gtk4 -test" 4,937 KiB
[ebuild N ] dev-libs/folks-0.15.9:0/26::gentoo USE="bluetooth eds (-telepathy) -test -utils" 495 KiB
[ebuild N ] mail-client/evolution-3.52.4-r2:2.0::gentoo USE="bogofilter libnotify sound spell ssl weather -archive -geolocation -gtk-doc -highlight -ldap (-selinux) -spamassassin -ytnef" 13,298 KiB
Total: 15 packages (13 new, 2 reinstalls), Size of downloads: 66,666 KiB
Would you like to merge these packages? [Yes/No] |
All works fine for me, there must be something in your world / etc/portage
Best Regards,
Georgi |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 7:27 am Post subject: |
|
|
logrusx wrote: | This conflict has no relationship to icu update whatsoever.
|
It does - indirectly - because icu upgraded the first time I ran emerge --update, but then something unrelated caused that emerge to crash and now the second time I emerge --update it no longer works and wants to apparently downgrade??!
In any case after finding emptytree was able to get past the above conflict, the premature ends to emerge --emptytree were due to
- missing distfiles
- running out of disk space, Yes these two are user problems.
- compile errors for a couple of packages... whether to distcc or buggy ebuild or whatever.
Does not matter what the reason is, it stopped, it gets fixed, it needs to get restarted. I just don't want to start it from the top again despite --emptytree being the only way to solve the conflict that only shows up when doing --update.
I don't really see any packages that are problematic, even with --verbose-conflicts, each conflict appears to be packages that are in portage and should be updated.
Your emerge pretend/ask doesn't take into account the packages that are already installed so that's not a valid comparison. I also have machines where the latest version is installed okay, just this specific machine is having problems for whatever reason, just that I can't pinpoint exactly what it wants me to do to fix it... so far portage has been leading me to wrong places to look... I just have had a lot of aborted runs and wonder if it has caught up to me, but as far as I'm reading here, it all should be accounted for I hope. Note that my typical upgrade cycle I'm usually juggling 500+-package upgrades so conflicts and compile issues that I have to debug are almost always guaranteed.
I don't have anything really obscure in world or accept_keywords or even my overlay... the only possibility is that I have an old version of wine-staging installed (manually keyworded) and probably should try removing that, but I do have the latest version keyworded so it should pick that up instead. But anyway I would have hoped wine-staging would show up in portage diagnostic output indicating it has a problem with it for whatever reason?
What I'm hoping is NOT a solution: put the old version of icu-74 in my overlay and let it do its job...
---
Okay I did what I didn't want to do: I put icu-74 into my overlay and let it run.
Now it finds it wants >=libcanberra-0.25 [gtk3] ... again it doesn't want to upgrade evolution-data-server-3.50.2-r1 for some reason. It appears that libcanberra got split into a new package that uses gtk3 called libcanberra-gtk3 and thus this old e-d-s-3.50 ebuild is completely obsolete... still doesn't explain why e-d-s doesn't want to upgrade to 3.52... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Last edited by eccerr0r on Mon Mar 17, 2025 9:27 am; edited 1 time in total |
|
Back to top |
|
 |
sam_ Developer


Joined: 14 Aug 2020 Posts: 2224
|
Posted: Mon Mar 17, 2025 9:09 am Post subject: |
|
|
The #1 cause of stuff like this is where some installed package can't be rebuilt (often an ebuild missing for it and newer ones are masked or not available for some reason) and Portage maanges to soldier on despite it for a while, then some "event" (like an interruption here) occurs and it can't do so anymore.
What does emerge -pev @world --backtrack=0 say (full output please)? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 9:38 am Post subject: |
|
|
eccerr0r wrote: | I just don't want to start it from the top again despite --emptytree being the only way to solve the conflict that only shows up when doing --update. |
You need to find the underlying issue. This should not happen even in the event of missing distfiles or broken builds duet to distcc or whatever cause. Not being able to --resume is a symptom of something else.
eccerr0r wrote: | I don't really see any packages that are problematic, even with --verbose-conflicts |
That doesn't guarantee anything. You can always try increasing --backtrack value, but that's going to stop working at some point.
eccerr0r wrote: | Your emerge pretend/ask doesn't take into account the packages that are already installed so that's not a valid comparison. |
Exactly the opposite. It comes to show there's something wrong with your depgraph. It's possible there's a bug in an ebuild, but we can't find that with the way you're handling things. When you hit an issue you should stop trying to resolve it and let us try to figure it out for you. I mean if you were able to, you wouldn't have the problem first place, would you? It must be something you're missing, possibly something small, but for that to be found we need stable conditions to work on, we cannot guess while you're constantly changing the situation.
eccerr0r wrote: | What I'm hoping is NOT a solution: put the old version of icu-74 in my overlay and let it do its job |
Don't do that, please. Stop and let us try to help you.
eccerr0r wrote: | Okay I did what I didn't want to do: I put icu-74 into my overlay and let it run.
Now it finds it wants >=libcanberra-0.25 [gtk3] ... again it doesn't want to upgrade evolution-data-server-3.50.2-r1 for some reason. It appears that libcanberra got split into a new package that uses gtk3 called libcanberra-gtk3 and thus this old e-d-s-3.50 ebuild is completely obsolete... still doesn't explain why e-d-s doesn't want to upgrade to 3.52... |
OK, you did it and you saw it's not the solution, so please hit pause while you provide what Sam asked for.
Best Regards,
Georgi |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 9:57 am Post subject: |
|
|
FCK... The --emptytree build I was doing despite the intermediate problems (due to --keep-going) have now cleaned up the main problem I'm having and no longer seeing the conflict with e-d-s and icu on update... so this is good (problem gone?) and bad (why did the problem manifest in the first place?).
There is still a new problem with poppler and tracker-miners but since the --emptytree hasn't finished yet, I won't mess with debugging it just yet...it may well self resolve too... going to wait before doing any more experiments. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 10:23 am Post subject: |
|
|
Sam's command may still give useful information once emerge is finished.
Best Regards,
Georgi |
|
Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23210
|
Posted: Mon Mar 17, 2025 1:43 pm Post subject: |
|
|
eccerr0r wrote: | Note: portage dying includes distfiles missing, i tried to set up al of my machines to fetch distfiles from my server and sometimes it doesn't have the package downloaded in time.) | Getting back to this, this also sounds like a setup problem. When Portage invokes the download command, it expects that the command will succeed, barring the file being missing from the Gentoo mirrors. If you have a setup where the download command can randomly fail due to no fault of the Gentoo mirror system, you will suffer problems. Either fix the command not to fail, or get in the habit of preloading the server with the distfiles, perhaps with emerge --fetch --emptytree @world (note: I checked that emerge --pretend --fetch --emptytree @world is syntactically valid, but I've never tried mixing --fetch and --emptytree in real usage). |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 2:14 pm Post subject: |
|
|
Hu wrote: | (note: I checked that emerge --pretend --fetch --emptytree @world is syntactically valid, but I've never tried mixing --fetch and --emptytree in real usage). |
I have. There were those few months I didn't have Internet connection on my disposal so I was regularly going to a cafe, sync and fetch everything with -eF so I don't worry about use changes, go home and compile. It works as expected.
Best Regards,
Georgi |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 3:00 pm Post subject: |
|
|
I actually don't mind if portage fails due to missing distfiles, that wasn't ever an issue, in fact I sort of expect files to be missing (cache miss)... Just need to rerun and it should be a cache hit the second time around. Couldn't think of a non-polling method to wait for the file to download so I just let it fail and I'll wait till it's ready.
The original problem is if portage vdb is ever left in an unrecoverable state if it does fail for any reason including missing distfiles. I'm getting conflicting answers...
Funny. I was having problems with emerge --fetchonly --pretend for a while and stopped doing it since it was causing problems hence my current half baked solution. I never figured out what the problem with --fetchonly was, nor if it's still an issue. The current state of the machine I'm working on has --fetchonly working just fine right now, fortunately (or unfortunately if it's worth to debug). _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Last edited by eccerr0r on Mon Mar 17, 2025 3:17 pm; edited 1 time in total |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 3:16 pm Post subject: |
|
|
eccerr0r wrote: |
The original problem is if portage vdb is ever left in an unrecoverable state if it does fail for any reason including missing distfiles. I'm getting conflicting answers.. |
In your particular case the answer is definitive - no. While it's not impossible, given all the measures taken, I imagine that to be extremely rare.
Best Regards,
Georgi |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 3:40 pm Post subject: |
|
|
logrusx wrote: | Sam's command may still give useful information once emerge is finished.
|
what specific bits would be useful?
I glanced over the results of the pretend emptytree two days ago (that I didn't save) before I let the --emptytree go run. The results looked exactly what I had hoped for - all the packages I was expecting to upgrade indeed upgraded and hence skirted the issue that was being found in --update, and without any backtracking or complaints about missing ebuilds... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2844
|
Posted: Mon Mar 17, 2025 3:49 pm Post subject: |
|
|
eccerr0r wrote: | logrusx wrote: | Sam's command may still give useful information once emerge is finished.
|
what specific bits would be useful?
I glanced over the results of the pretend emptytree two days ago (that I didn't save) before I let the --emptytree go run. The results looked exactly what I had hoped for - all the packages I was expecting to upgrade indeed upgraded and hence skirted the issue that was being found in --update, and without any backtracking or complaints about missing ebuilds... |
--backtrack=0 instructs portage not to try to resolve conflicts but instantly give up. It'll output for which packages it does. It'll only succeed if portage does not encounter any issues whatsoever.
For example it complained I had a few packages installed with ACCEPT_KEYWORDS on the command line, but not added to package.accept_keywords. I usually do that with apps I don't intend to keep or I'm testing or which I've emerged with ebuild merge for some reason.
After some cleanup it only complains for openjdk-bin:23 because it's not in tree anymore, but I intend to keep it. It also wants a few use changes because I told it not to do the round trip to try to find a longer dependency chain which can solve the issue:
Code: |
# emerge -pve --backtrack=0 @world
These are the packages that would be merged, in order:
Calculating dependencies .... done!
Dependency resolution took 14.66 s (backtrack: 0/0).
...
Total: 1686 packages (4 upgrades, 1 downgrade, 1 new, 1680 reinstalls), Size of downloads: 3,033,990 KiB
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by media-gfx/graphviz-12.2.1-r1::gentoo
# required by media-gfx/plantuml-1.2025.0::localrepo
# required by @selected
# required by @world (argument)
>=media-libs/gd-2.3.3-r4 fontconfig
# required by net-im/viber-23.2.0.3::nest
# required by @selected
# required by @world (argument)
>=media-video/ffmpeg-compat-58-r2 vdpau
!!! Problems have been detected with your world file
!!! Please run emaint --check world
!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
dev-java/openjdk-bin:23 |
Best Regards,
Georgi
Last edited by logrusx on Mon Mar 17, 2025 4:11 pm; edited 2 times in total |
|
Back to top |
|
 |
eccerr0r Watchman

Joined: 01 Jul 2004 Posts: 9948 Location: almost Mile High in the USA
|
Posted: Mon Mar 17, 2025 3:58 pm Post subject: |
|
|
TBH I did not use --backtrack=0 but it completed saying (backtrack: 0/20) which as far as I understand means it never backtracked and --backtrack=0 would have given the same results (except saying backtrack: 0/0) ?
And yeah as said before, I did not get any missing ebuild or masked package warnings when I emerge --emptytree like what you have (now that I see your example). Indeed I have run into those issues before and were easy to solve with that diagnostic output, but this one completely baffled me when --emptytree was clean as-is and --update had that confusing conflict hence making a theory that I have database corruption or portage is doing something really wrong outside of what normally happens doing merges either with the corrupt data or worse, without.
Incidentally the machine now --update --deep --newuse @world runs cleanly now with backtrack of 0/20... Argh. I guess I'll never figure out what went wrong here other than resorting to use --emptytree if all else fails and nothing seems wrong. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Last edited by eccerr0r on Mon Mar 17, 2025 5:27 pm; edited 5 times in total |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|