Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Can't clean up -- required packages not being installed
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 500

PostPosted: Tue Oct 22, 2024 8:56 am    Post subject: Can't clean up -- required packages not being installed Reply with quote

Hi

I did this:

Code:

# emerge --update --newuse --deep --with-bdeps=y @world
# emerge --ask --depclean


And got this:

Code:

* Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 *
 *   >=sci-libs/cgnslib-4.1.1:0/4=[hdf5,-mpi] pulled in by:
 *     sci-libs/vtk-9.2.5-r2
 *
 *   dev-libs/jsoncpp:0/25= pulled in by:
 *     sci-libs/vtk-9.2.5-r2


So far as I know, I have
Code:
cgnslib
and
Code:
jsoncpp
, but maybe not the versions that are being complained about.

Can anybody explain, in numpty terms that I stand some chance of understanding, what's gone wrong here? In particular, how should I interpret terms like
Code:
cgnslib-4.1.1:0/4=[hdf5,-mpi]
? equery tells me I have
Code:
cgnslib-4.4.0-r1:0/4.4
-- I'm guess that isn't(?) a match for the version that emerge is complaining about?

emerge goes on to tell me that it might be "necessary to manually uninstall packages that no longer exist in the repository" but I don't see anything that needs to be uninstalled.

What have I screwed up this time?

BR, Lars.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4661
Location: Germany

PostPosted: Tue Oct 22, 2024 10:06 am    Post subject: Reply with quote

Hm, what is the full output from
Code:
emerge -pvuDU @world
?
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 500

PostPosted: Tue Oct 22, 2024 10:54 am    Post subject: Reply with quote

Josef.95 wrote:
Hm, what is the full output from
Code:
emerge -pvuDU @world
?


Thank you. Attached. I have no clue how to interpret the 'dependency conflict' messages. I've had them for a while, and I've just been ignoring them.

But I note that `emerge ... @world` does a load of compilation, but does not, in the end, update anything. `equery` continues to show the same version numbers for all the packages that `emerge` said it was updating. It's clearly doing the compilation, because I'm watching it happen, but nothing actually gets installed. Whether that's related to this dependency conflict, or some other problem, I have no idea.

BR, Lars.


Code:

Dependency resolution took 73.25 s (backtrack: 5/20).

[ebuild     U  ] www-client/ungoogled-chromium-bin-129.0.6668.89::pf4public [129.0.6668.58::pf4public] USE="-convert-dict -widevine" L10N="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" 125,316 KiB
[ebuild     U  ] net-print/libcupsfilters-2.1_beta1::gentoo [2.0.0-r5::gentoo] USE="dbus exif jpeg pdf png poppler postscript tiff -test" 0 KiB
[binary     U  ] net-wireless/wpa_supplicant-2.10-r5-1::gentoo [2.10-r4::gentoo] USE="dbus fils hs2-0 mbo mesh qt5 readline -ap -broadcom-sta -eap-sim -eapol-test -fasteap -macsec -p2p -privsep (-ps3) (-selinux) -smartcard -tdls -tkip -uncommon-eap-types -wep (-wimax) -wps" 0 KiB
[ebuild     U  ] net-print/libppd-2.1_beta1-r1::gentoo [2.0.0::gentoo] USE="poppler postscript" 0 KiB
[ebuild  rR    ] sci-libs/vtk-9.2.5-r2:0/9.2::gentoo  USE="logging openmp qt6 rendering sdl threads -all-modules -boost (-cuda) (-debug) -doc -examples -ffmpeg -freetype -gdal -imaging -java -las -mpi -mysql -odbc -openvdb -pdal -postgres -python -qt5 -tbb -test -tk -views -vtkm -web" PYTHON_SINGLE_TARGET="-python3_10 -python3_11" VIDEO_CARDS="-nvidia" 0 KiB
[ebuild     U  ] net-print/cups-filters-2.0.1::gentoo [2.0.0-r1::gentoo] USE="foomatic" 0 KiB
[ebuild     U  ] net-p2p/qbittorrent-4.6.7::gentoo [4.6.6::gentoo] USE="dbus gui qt6 -systemd -test -verify-sig -webui" 0 KiB
[ebuild     U  ] net-print/cups-browsed-2.0.1::gentoo [2.0.0::gentoo] USE="-ldap -test -zeroconf" 0 KiB
[ebuild     U  ] media-sound/spotify-1.2.47::gentoo [1.2.42::gentoo] USE="libnotify -local-playback -pax-kernel -pulseaudio" 106,544 KiB

Total: 9 packages (8 upgrades, 1 reinstall, 1 binary), Size of downloads: 231,860 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

sci-libs/vtk:0

  (sci-libs/vtk-9.3.0-r3:0/9.3::gentoo, ebuild scheduled for merge) USE="freetype logging openmp qt6 rendering sdl threads views -all-modules -boost (-cuda) (-debug) -doc -examples -ffmpeg -gdal -gles2-only -imaging -java -las -mpi -mysql -odbc -opencascade -openvdb -pdal -postgres -python -qt5 -tbb -test -tk -vtkm -web" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11" VIDEO_CARDS="-nvidia" conflicts with
    <sci-libs/vtk-9.3.0:0/9.2=[rendering] required by (sci-libs/opencascade-7.7.0-r2-1:0/7.7::gentoo, installed) USE="json vtk -doc -examples -ffmpeg -freeimage -gles2 -optimize (-tbb)" ABI_X86="(64)"
    ^             ^^^^^^^^^^^^           
    sci-libs/vtk:0/9.2=[-qt5,qt6,rendering] required by (media-gfx/freecad-0.21.2-r3-3:0/0::gentoo, installed) USE="addonmgr fem gui idf image inspection material openscad part-design path points qt6 raytracing robot show surface techdraw tux -cloud -debug -designer -netgen -pcl -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"
                ^^^^^^^                   
    <sci-libs/vtk-9.3.0:=[rendering] required by (sci-libs/opencascade-7.7.0-r2-1:0/7.7::gentoo, installed) USE="json vtk -doc -examples -ffmpeg -freeimage -gles2 -optimize (-tbb)" ABI_X86="(64)"
    ^             ^^^^^             

media-libs/freetype:2

  (media-libs/freetype-2.13.2:2/2::gentoo, ebuild scheduled for merge) USE="X adobe-cff bzip2 cleartype-hinting png svg -brotli -debug -doc -fontforge -harfbuzz -static-libs -utils" ABI_X86="(64) -32 (-x32)" conflicts with
    >=media-libs/freetype-2.13.2[harfbuzz,abi_x86_64(-)] required by (media-libs/sdl2-ttf-2.22.0-1:0/0::gentoo, installed) USE="X harfbuzz -static-libs" ABI_X86="(64) -32 (-x32)"
                                 ^^^^^^^^               
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4661
Location: Germany

PostPosted: Tue Oct 22, 2024 11:43 am    Post subject: Reply with quote

First, I would fix this conflict
Quote:
Code:
media-libs/freetype:2

  (media-libs/freetype-2.13.2:2/2::gentoo, ebuild scheduled for merge) USE="X adobe-cff bzip2 cleartype-hinting png svg -brotli -debug -doc -fontforge -harfbuzz -static-libs -utils" ABI_X86="(64) -32 (-x32)" conflicts with
    >=media-libs/freetype-2.13.2[harfbuzz,abi_x86_64(-)] required by (media-libs/sdl2-ttf-2.22.0-1:0/0::gentoo, installed) USE="X harfbuzz -static-libs" ABI_X86="(64) -32 (-x32)"
                                 ^^^^^^^^
Enable the harfbuzz USE flag on media-libs/freetype package,
and then check the new
Code:
emerge -pvuDU @world
output.
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 500

PostPosted: Tue Oct 22, 2024 1:40 pm    Post subject: Reply with quote

I got things working by fiddling about with 'emerge @preserved-rebuild', based on similar problems elsewhere in this forum. I have no idea what this does.

But what I really want to know is, what does emerge actually mean here: ?

"Dependencies could not be completely resolved due to the following required packages not being installed"

The packages definitely were installed. What is `emerge` actually checking? And for what? And what does a version string like
Code:
cgnslib-4.1.1:0/4=[hdf5,-mpi]
really mean?

Is there anything I can read that will explain all this stuff? The Gentoo documentation, like all computing documentation, is written for people who don't actually need the documentation.

BR, Lars.
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1664
Location: South America

PostPosted: Tue Oct 22, 2024 3:25 pm    Post subject: Reply with quote

lars_the_bear wrote:
But what I really want to know is, what does emerge actually mean here: ?

If you mean emerge @preserved-rebuild, it is usually needed for rebuilding packages that install programs or libraries that link to shared libraries from other packages, when those other packages were upgraded, and installed libraries that were not backwards-compatible (e. g. because of an ABI change). In that case, Portage needs to also retain the old versions, so those programs and libraries don't break during dynamic linking. Once rebuilt, though, they will link to the new versions, and Portage can safely remove the old ones.

lars_the_bear wrote:
What is `emerge` actually checking?

The dependency graph of installed packages, according to what was recorded at package installation time.

lars_the_bear wrote:
And for what?

For figuring out what it can remove. It's emerge --depclean we are talking about.

lars_the_bear wrote:
And what does a version string like
Code:
cgnslib-4.1.1:0/4=[hdf5,-mpi]
really mean?

Package sci-libs/cgnslib, version 4.1.1, which is in slot 0, subslot 4, and has to be installed with the hdf5 USE flag set, and the mpi USE flag unset. Additionally, the "=" means that if at any point a version of sci-libs/cgnslib is installed in a different slot or subslot, then package sci-libs/vtk has to be rebuilt.

lars_the_bear wrote:
Is there anything I can read that will explain all this stuff?

The Package Manager Specification will tell you everything you might want to know, but it is also a formal specification written for accuracy and completeness, so not necessarily reader friendly. Some or all of this is also explained in man pages, but I don't recall which ones at the moment.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)


Last edited by GDH-gentoo on Tue Oct 22, 2024 4:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 500

PostPosted: Tue Oct 22, 2024 3:40 pm    Post subject: Reply with quote

@GDH-Gentoo

Thank you for the detailed explanation. I will try to read the document you linked but, in the meantime, do you think there is any way to work out how my system has ended up in this state?

That is, how is it possible to end up in a situation where dependencies cannot be satisfied when uninstalling? All the dependencies must have been resolved at package installation time (or, at least, I had no reason to think otherwise). SInce then, I've done a couple of 'emerge .... @world' operations, which appeared to succeed.

Is it commonplace, with Gentoo, to end up in a situation where you can't clean up because dependencies are unresolved? Or is that a symptom of my particular incompetence? If it's something that can happen without incompetence, is there some systematic, step-by-step procedure for putting things right?

BR, Lars
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1664
Location: South America

PostPosted: Tue Oct 22, 2024 3:48 pm    Post subject: Reply with quote

lars_the_bear wrote:
[...], do you think there is any way to work out how my system has ended up in this state?

The thing is, you've been so far a "tell, don't show" person, which makes giving you answers quite difficult for anyone else, because of all the guesswork involved.

Standard answer is "should not have happened", but that probably won't satisfy you :) One way of messing the dependency graph is fiddling with emerge --unmerge, but I'm sure, uh, creative people can come up with other ways...
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2350

PostPosted: Tue Oct 22, 2024 4:00 pm    Post subject: Reply with quote

If you used binary packages, then build time dependencies were not necessary and not installed. You however passed --with-bdeps=y which should have installed them anyway, even if you used binary packages. So that's strange and unless you did something else you can't figure out at the moment is connected to this situation, it might as well have been a bug.

Are you sure the update finished successfully? Sometimes if the update does not finish, preserved libs will remain as the packages depending on them were still not updated, but the libs were.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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