• [gentoo-user] re-installed KDE doesn't start : solved

    From Philip Webb@21:1/5 to All on Sun Jul 27 12:50:01 2025
    250726 Michael wrote:
    Hi Philip, Did you get to the bottom of this problem ?

    Yes, but only after your kind concern galvanised me to tackle it (smile).
    I realised what the basic problem was, but have been distracted otherwise.

    It seems to me some dependencies got muddled up and you've ended up with Qt5 as a dependency of Plasma-KDE plus Qt6, stepping over each other's toes.
    I'm guessing something in either /var/lib/portage/world
    or /etc/portage/package.accept_keywords/ kept Qt5 behind.

    Checking back thro' my notes, I saw that I lost both KDE + sound
    after a power outage 250617 Tu, which forced a reboot.
    Checking 'syslog', I found the previous 'restart' 250525.
    Next, I looked at 'emerge.log' & listed all pkgs updated during the interval : these included 'xorg-server' + 'clementine' (sound),
    so something else was needed to make the new versions work properly.
    Then, I looked at my own 'pkg.ref' file (see below),
    which lists all my installed pkgs with notes re the pkgs which require them ; that told me which other pkgs probably needed to be updated too
    to restore KDE + sound. I duly remerged them & it's all back where it sb !

    I've run into this before, eg re sound, but not so severely.
    It's a defect in Portage, which no-one seems to want to acknowledge :
    it will happily update a pkg without including its vital requirements.

    I was able to solve the problem with the help of 'pkg.ref',
    my own invention long ago (I've been using Gentoo since 2003).
    Here is an extract, listing all 'media-libs' pkgs which are installed :

    230717 media-libs/a52dec-0.7.4-r8 [for vlc]
    250427 media-libs/alsa-lib-1.2.13-r3 [for FF]
    230717 media-libs/alsa-topology-conf-1.2.5.1 [for alsa-lib]
    230717 media-libs/alsa-ucm-conf-1.2.8 [for alsa-lib]
    250727 media-libs/chromaprint-1.5.1-r4 [for clementine]
    250427 media-libs/dav1d-1.5.0 [for FF]
    250727 media-libs/faad2-2.11.1 [for clementine]
    250713 media-libs/fontconfig-2.16.2-r1 [for libXft]
    240714 media-libs/freeglut-3.6.0 [for mupdf]
    250514 media-libs/freetype-2.13.3 [for libXft]
    230718 media-libs/giflib-5.2.1-r1 [for imlib2 mplayer qt]
    240316 media-libs/glm-1.0.1 [for LO]
    230625 media-libs/glu-9.0.2 [for virtual]
    250713 media-libs/harfbuzz-11.2.1 [for pango : USE ]
    240921 media-libs/imlib2-1.12.3 [for feh]
    241005 media-libs/jbig2dec-0.20 [for ghostscript-gpl]
    250427 media-libs/lcms-2.17-r2 [for ghostscript-gpl]
    230304 media-libs/lensfun-0.3.2-r1 [for ufraw]
    250308 media-libs/libaom-3.10.0 [for FF]
    250427 media-libs/libass-0.17.1-r2 [for ffmpeg]
    230726 media-libs/libcanberra-0.30-r7 [for FF]
    241006 media-libs/libcdr-0.1.7 [for LO]
    241006 media-libs/libepoxy-1.5.10-r3 [for poppler]
    230625 media-libs/libexif-0.6.24 [for fbida]
    230727 media-libs/libfreehand-0.1.2-r1 [for LO]
    250727 media-libs/libglvnd-1.7.0 [for mesa xorg-server]
    230719 media-libs/libid3tag-0.16.2 [for imlib2]
    250308 media-libs/libjpeg-turbo-3.1.0 [for v/jpeg]
    230727 media-libs/libpagemaker-0.0.4-r1 [for LO]
    250727 media-libs/libpng-1.6.47 [for xorg]
    240902 media-libs/libva-2.22.0 [for mesa]
    241006 media-libs/libvisio-0.1.7 [for LO]
    241013 media-libs/libvpx-1.14.1 [for FF]
    241006 media-libs/libzmf-0.0.2-r1 [for LO]
    250727 media-libs/mesa-25.0.7 [for xorg-server : USE]
    250224 media-libs/openh264-2.6.0 [for FF]
    230713 media-libs/openjpeg-2.5.0-r5 [for ghostscript-gpl mupdf]
    240917 media-libs/pcaudiolib-1.2-r2
    241006 media-libs/raptor-2.0.16 [for redland]
    250727 media-libs/taglib-2.1.1 [for clementine]
    250301 media-libs/tiff-4.7.0-r1 [for okular cups ghostscript]
    230717 media-libs/xvid-1.3.7-r1 [for ffmpeg vlc]

    KDE + Xfce has separate lists (pkg-kde.ref pkg-xfce.ref).

    You will see that some have today's date 250727, eg Chromaprint,
    one or more of which proved to be essential for restoring sound.

    No, Portage doesn't do it all for you ! -- it presents long lists of blocks. Currently, it's doing this with 'curl' + 'shadow'.
    Today, I encountered a demand for a USE flag '!gnutls' -- NB the '!' :
    what does that mean ? 'USE="gnutls"' makes no difference
    & there's no explanation of '!' via 'man emerge'.

    So thanks again to those few who tried to help,
    but as usual with Gentoo, the solution is simple,
    once your identify where exactly the problem is.

    --
    ========================,,============================================
    SUPPORT ___________//___, Philip Webb
    ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
    TRANSIT `-O----------O---' purslowatcadotinterdotnet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eli Schwartz@21:1/5 to Philip Webb on Tue Jul 29 22:40:01 2025
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------G0PzSk1DHcjnPjkK1iHEIeaY
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 7/27/25 6:46 AM, Philip Webb wrote:

    I've run into this before, eg re sound, but not so severely.
    It's a defect in Portage, which no-one seems to want to acknowledge :
    it will happily update a pkg without including its vital requirements.

    I think that shouldn't be able to happen except when using --oneshot, or
    at least, all the times I can recall seeing this were in such a case --
    because portage allows uninstalling or upgrading a package to break
    another installed package, iff that other package is eligible for
    --depclean.

    But that is why you're advised to regularly do a full world update
    followed by depclean...

    I was able to solve the problem with the help of 'pkg.ref',
    my own invention long ago (I've been using Gentoo since 2003).
    Here is an extract, listing all 'media-libs' pkgs which are installed :

    230717 media-libs/a52dec-0.7.4-r8 [for vlc]
    250427 media-libs/alsa-lib-1.2.13-r3 [for FF]
    230717 media-libs/alsa-topology-conf-1.2.5.1 [for alsa-lib]


    Is this manually maintained? What happens when a package is installed
    due to multiple other packages?

    For top level packages I like to use /etc/portage/sets/* which supports comments describing why each package should be in @world.


    --
    Eli Schwartz

    --------------G0PzSk1DHcjnPjkK1iHEIeaY--

    -----BEGIN PGP SIGNATURE-----

    wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCaIkwwwUDAAAAAAAKCRCEp9ErcA0vV7iZ AQDVLyWXQNHjRs2zppuDTzf4UR86IIfLN1ln7RxG+mthywD+IyuaFYBEzRiyr5nuuaahI/gmNxs0 5gtO0tMZs9lGKA4=
    =hQQj
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Philip Webb@21:1/5 to All on Wed Jul 30 10:30:01 2025
    250729 Eli Schwartz wrote:
    On 7/27/25 6:46 AM, Philip Webb wrote:
    I've run into this before, eg re sound, but not so severely.
    It's a defect in Portage, which no-one seems to want to acknowledge :
    it will happily update a pkg without including its vital requirements.
    I think that shouldn't be able to happen except when using --oneshot,
    or at least all the times I can recall seeing this were in such a case, because Portage allows uninstalling or upgrading a package
    to break another installed package
    iff that other package is eligible for --depclean.
    But that is why you're advised to regularly do a full world update
    followed by depclean.

    I regularly use '-1' when emerging, but have never been aware
    that that caused significantly different behaviour in itself.
    in this case, 'clementine' is in my 'world' file.

    As I see it, Portage allowed 'clementine' to be updated,
    while failing to insist that some other pkg(s) were updated to match :
    it's that simple & Portage shouldn't behave like that.

    I was able to solve the problem with the help of 'pkg.ref',
    my own invention long ago (I've been using Gentoo since 2003).
    Here is an extract, listing all 'media-libs' pkgs which are installed :

    230717 media-libs/a52dec-0.7.4-r8 [for vlc]
    250427 media-libs/alsa-lib-1.2.13-r3 [for FF]
    230717 media-libs/alsa-topology-conf-1.2.5.1 [for alsa-lib]

    Is this manually maintained ?

    Yes : I carefully update it whenever I emerge anything.
    Pkgs in 'world' are marked 'W' & in 'system' 'S' ;
    also, pkgs with special USE needs are marked 'USE'
    & there is a list of such pkgs + flags towards the end of 'pkg.ref'.

    What happens when a package is installed due to multiple other packages ?

    The '[for ...]' note lists them all.

    For top level packages I like to use /etc/portage/sets/* ,
    which supports comments describing why each package should be in @world.

    I have several such files in the 'sets' dir, eg 'dev-qt',
    which allows me to remove & re-install multiple pkgs easily.

    I don't know how anyone can manage a Gentoo system without such a file.

    --
    ========================,,============================================
    SUPPORT ___________//___, Philip Webb
    ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
    TRANSIT `-O----------O---' purslowatcadotinterdotnet

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Wed Jul 30 11:06:14 2025
    On Wednesday, 30 July 2025 09:27:29 British Summer Time Philip Webb wrote:
    250729 Eli Schwartz wrote:
    On 7/27/25 6:46 AM, Philip Webb wrote:
    I've run into this before, eg re sound, but not so severely.
    It's a defect in Portage, which no-one seems to want to acknowledge :
    it will happily update a pkg without including its vital requirements.

    I think that shouldn't be able to happen except when using --oneshot,
    or at least all the times I can recall seeing this were in such a case, because Portage allows uninstalling or upgrading a package
    to break another installed package
    iff that other package is eligible for --depclean.
    But that is why you're advised to regularly do a full world update
    followed by depclean.

    I regularly use '-1' when emerging, but have never been aware
    that that caused significantly different behaviour in itself.
    in this case, 'clementine' is in my 'world' file.

    The purpose of --oneshot is explained in 'man emerge', along with a warning which Eli has pointed at:
    =======================
    --oneshot, -1
    Emerge as normal, but do not add the packages to the world file for later updating.

    WARNING: This option should only be used for packages that are reachable from the @world package set (those that would not be removed by -- depclean), since dependencies of unreachable packages are allowed to be broken when satisfying dependencies of other packages. Broken dependencies of this sort will invalidate assumptions that make it possible for --deep to be disabled by default.
    ====================

    I only use '-1' to temporarily emerge a package when I'm testing things and do not want a package to be inadvertently added to my world file. This is particularly useful when I install some library, try a new package slot and so on. Later on --depclean will remove it along with any build and run time dependencies which were dragged in. This allows me to keep the contents of world clean as well as removing any unnecessary dependencies shrapnel from my system.


    As I see it, Portage allowed 'clementine' to be updated,
    while failing to insist that some other pkg(s) were updated to match :
    it's that simple & Portage shouldn't behave like that.

    Portage would not behave like that, if you used it the way it was intended to be used; 'emerge -uaDv world' or 'emerge -uaDv clementine' would update clementine because it is in your @world set. The -D option will update any dependencies of clementine, ensuring your system has all packages required to build clementine and be able to run it thereafter. If you add '-N' it will take account of any changes in USE flags too. In case you are emerging a binary package from binhost, you can use '--with-bdeps n' to stop emerge installing build time dependencies not needed for binary packages.


    I was able to solve the problem with the help of 'pkg.ref',
    my own invention long ago (I've been using Gentoo since 2003).

    Here is an extract, listing all 'media-libs' pkgs which are installed :
    230717 media-libs/a52dec-0.7.4-r8 [for vlc]
    250427 media-libs/alsa-lib-1.2.13-r3 [for FF]
    230717 media-libs/alsa-topology-conf-1.2.5.1 [for alsa-lib]

    Is this manually maintained ?

    Yes : I carefully update it whenever I emerge anything.
    Pkgs in 'world' are marked 'W' & in 'system' 'S' ;
    also, pkgs with special USE needs are marked 'USE'
    & there is a list of such pkgs + flags towards the end of 'pkg.ref'.

    This approach may be a niche hobby and a time sink, but it is not necessary
    for installing or maintaining a settled Gentoo system, assuming you use an appropriate make.profile and install any individual packages you want to
    remain on your system.


    What happens when a package is installed due to multiple other packages ?

    The '[for ...]' note lists them all.

    For top level packages I like to use /etc/portage/sets/* ,
    which supports comments describing why each package should be in @world.

    I have several such files in the 'sets' dir, eg 'dev-qt',
    which allows me to remove & re-install multiple pkgs easily.

    Why would you need to remove, or re-install 'dev-qt', when it is being managed as a dependency of packages you will have installed on your system - e.g. Plasma/KDE? Portage will see to it being kept up to date without your manual intervention and --depclean will remove any older versions of dev-qt/*
    packages no longer needed. There is a good use case for your own set files, e.g. you are setting up a LAMP server, or a different DE, etc., but usually
    the default sets are adequate for most everyday use cases.


    I don't know how anyone can manage a Gentoo system without such a file.

    Believe it or not I rarely create my own set files and only do so when I want to test something. :-)

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmiJ7pYACgkQseqq9sKV Zxn1IRAAz2UvBKVdrfFtJDFQVBNytguBLplvihMcnLhIPqLHFDGrOv7hHRBCBggH UkvFB9j0qj1Vhx+t8u6QtvebAWC6fGPcGpw21E6YiVee5gpz0cIpVBclg3WwvPE8 Z2oskNhW3C/8AUr/mXLbRNqGkaQRFxlBSPUI+eCPKfGxm0ufMTVTRAxIEcJirEdW fuBUEY8AaZM0Q3jbR0lib6QNuT6LbO/LXeUTERVl6yZOSM07UXzDCUZPf/UiEnWa YrCg8RNBdV1SN9XNbCw3nU4CX8DuWI2vPulZaEmAUFeyCCqqsETxWUuL0qpoO4Sy 4QBNVN86OZg8Ost9TrNBZ/0j/87BOC2oXYaMmr+1AIZECmmIV9xvKnDul2URcc4p 6/VS0dmyihzwx4BhPTO0xEi16ZTm/d+TgD6ZnBcKgTjyQ1AacA7bm0lLh4Y6IGm/ 8yKqSMFuBt1lYUpFbmjzPMPayS+SB1CW7RDYxd8Wk0oMvJkiS1qc6FEc7jKCs594 GeIjw1ZAnF6IqrSSLuV2S/APMsYrkPOnqZLXTg13P9bLwQoLx5ZFe6r3pa5LdOhG Yf/nqmkTg6kKUfevn677tlC05ySp88L0gakMJmzYWrnFrvvolLe1kxxJmVHEGgum IB91+kkiNcHmNOdMvj1AuTWShSd7Uu47Gfv5xy1rU82o4NEYsHg=
    =UFtx
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eli Schwartz@21:1/5 to Dale on Wed Jul 30 17:20:01 2025
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------0te5AF5Hq0FyzXUkd0JsSsPM
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 7/30/25 9:55 AM, Dale wrote:

    You mentioned using sets.  I tried using sets.  All it did was create
    more work.  If I have something installed here, I use it, sometimes a
    LOT.  Therefore, I want them all to be as up to date as is available.  I found that even when I did have sets, the sets were in the world file
    and being updated anyway.  No real point in that when just putting for example, kicad-meta, in the world file and skipping the sets.  Some may
    like it.  I've read of people using and liking how it works.  For me
    tho, it was just more work.  So, some of us long term users do just fine without sets.  :-D 


    The reason I mentioned sets is because sets are indeed *basically the
    same* as adding to world...

    ... except you can add comments to a set, to remind you why some package
    is needed.

    "Adding comments" felt related to what the OP is doing. Indeed, not
    everyone feels the need for them.


    --
    Eli Schwartz

    --------------0te5AF5Hq0FyzXUkd0JsSsPM--

    -----BEGIN PGP SIGNATURE-----

    wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCaIo2JAUDAAAAAAAKCRCEp9ErcA0vV2Oa AQDHLiS8xLGovevuBBmu70bB1YadsCFx/gegAJPgtgbC/gD9Hl06vy1ybDGW5Ins3SlPDH/Y0vDg ZWQhca8ZqK5JOgw=
    =vRF1
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Humphrey@21:1/5 to All on Wed Jul 30 18:10:01 2025
    On Wednesday, 30 July 2025 14:55:55 British Summer Time Dale wrote:

    ... I tried using sets. All it did was create
    more work. If I have something installed here, I use it, sometimes a
    LOT. Therefore, I want them all to be as up to date as is available. I found that even when I did have sets, the sets were in the world file
    and being updated anyway. No real point in that when just putting for example, kicad-meta, in the world file and skipping the sets. Some may
    like it. I've read of people using and liking how it works. For me
    tho, it was just more work. So, some of us long term users do just fine without sets. :-D

    On the other hand, I find life easier with everything in sets. I passed through a phase when I was reinstalling systems rather too often, and rather than sit here for hours doing piecemeal installations, it was much easier to start a
    set emerging and go and do something else while it got on with it.

    I sometimes install something to see if I like it, and it goes into @world. If I decide to keep it, it comes out of world and into a suitable set; otherwise
    I uninstall it. My world file is therefore usually empty, but now you've prompted me to check it and I see a few things in there that I thought I'd uninstalled. So, thanks for the reminder!

    Of course, now that my system is stable, more-or-less, I could revert to the usual way of working, but then I'd have some work to do. It could be done in a few commands; the harder part would be my having to mend my ways. :-)

    In case anyone's interested, this is my standard set of sets, in order of installation:

    $ ls -1 /etc/portage/sets # arranged by hand
    core
    base
    apps
    xorg
    plasma
    utils

    @core includes linux-firmware and gentoo-sources, which several @base packages require to have been installed.

    Many other schemes could be used, I'm sure, but mine is here for historical reasons; not hysterical, these days :-)

    --
    Regards,
    Peter.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Humphrey@21:1/5 to All on Fri Aug 1 15:30:01 2025
    On Thursday, 31 July 2025 14:50:36 British Summer Time Dale wrote:
    Peter Humphrey wrote:
    On Wednesday, 30 July 2025 14:55:55 British Summer Time Dale wrote:
    ... I tried using sets. All it did was create
    more work. If I have something installed here, I use it, sometimes a
    LOT. Therefore, I want them all to be as up to date as is available. I >> found that even when I did have sets, the sets were in the world file
    and being updated anyway. No real point in that when just putting for
    example, kicad-meta, in the world file and skipping the sets. Some may
    like it. I've read of people using and liking how it works. For me
    tho, it was just more work. So, some of us long term users do just fine >> without sets. :-D

    On the other hand, I find life easier with everything in sets. I passed through a phase when I was reinstalling systems rather too often, and rather than sit here for hours doing piecemeal installations, it was much easier to start a set emerging and go and do something else while it got
    on with it.

    I sometimes install something to see if I like it, and it goes into
    @world. If I decide to keep it, it comes out of world and into a suitable set; otherwise I uninstall it. My world file is therefore usually empty, but now you've prompted me to check it and I see a few things in there
    that I thought I'd uninstalled. So, thanks for the reminder!

    Of course, now that my system is stable, more-or-less, I could revert to the usual way of working, but then I'd have some work to do. It could be done in a few commands; the harder part would be my having to mend my
    ways. :-)

    In case anyone's interested, this is my standard set of sets, in order of installation:

    $ ls -1 /etc/portage/sets # arranged by hand
    core
    base
    apps
    xorg
    plasma
    utils

    @core includes linux-firmware and gentoo-sources, which several @base packages require to have been installed.

    Many other schemes could be used, I'm sure, but mine is here for
    historical reasons; not hysterical, these days :-)

    This is like a lot of other things in life. Sometimes it depends on the situation. You take the devs that are always making changes to ebuilds, testing, making more changes and testing some more before it hits the
    tree. I'm sure they have a lot of unique ways of testing, updating and likely even installing packages. I suspect some use sets, some may
    not. Some may have one process while others are completely different.
    They do things in a way that works for them and gives them the best
    results.

    For me and my simplistic and consistent way of updating, sets just makes
    more work and doesn't gain me anything. If sets work for you, and
    others, by all means use them. It just doesn't work for me. When I
    sync and do my updates, I want emerge to update everything at once if possible. I run one update command and it's done.

    So do I. Any set I install is recorded in /var/lib/portage/world_sets and so forms part of @world.

    I'm also sure for some, including me, we do things the way we do because that's how we have done it for a long time. If it's working, don't mess
    with it.

    Quite so. :)

    --
    Regards,
    Peter.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)