Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aurora: Xdg-open broken because kde-open: undefined symbol #2001

Closed
goek-han opened this issue Dec 3, 2024 · 7 comments
Closed

Aurora: Xdg-open broken because kde-open: undefined symbol #2001

goek-han opened this issue Dec 3, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@goek-han
Copy link

goek-han commented Dec 3, 2024

Describe the bug

xdg-open is broken in Aurora because kde-open is missing a symbol:

➜ xdg-open https://kde.org
kde-open: symbol lookup error: kde-open: undefined symbol: _ZN3KIOeqERKNS_8UDSEntryES2_

See also:
https://discuss.kde.org/t/xdg-open-broken-because-kde-open-undefined-symbol/26332/4

What did you expect to happen?

I expected that https://kde.org opens in my browser. It worked before on last week's image and in the past.

Output of bootc status

No staged image present
Current booted image: ghcr.io/ublue-os/aurora-dx:stable
    Image version: 41.20241201 (2024-12-01 06:03:49 UTC)
    Image digest: sha256:c7ff06788ace6c1ad1eab39a0973ed8d024d73704f30f9bb4f9b8e6b2eced0a5
Current rollback image: ghcr.io/ublue-os/aurora-dx:stable
    Image version: 41.20241124.5 (2024-11-24 20:39:02 UTC)
    Image digest: sha256:36b157a6c68b6ce4aedb70f7cec5efc43372157f1f20658182c7bce2a52ac580

Output of groups

goekhan wheel incus-admin lxd docker libvirt

Extra information or context

No response

@dosubot dosubot bot added aurora bug Something isn't working labels Dec 3, 2024
@ledif
Copy link

ledif commented Dec 3, 2024

I am experiencing this same error too.

Did some rebasing to try to bisect which build introduced the problem. It seems like the issue was introduced in 41-202411.30

Tag Status
41.20241201 (current stable) Broken
41-20241130.2 Broken
41-20241130.1
41-20241130 Broken
41.20241129 OK
41.20241128
41.20241127.1
41.20241127 OK
41.20241126.5
41-20241126.4
41-20241126.3
41-20241126.2
41-20241126.1
41.20241125
41.20241124.6
41.20241124.5 (previous stable) OK

Here are the list of packages that changed from 41-202411.29 to 41-202411.30:

❯ rpm-ostree db diff
ostree diff commit from: rollback deployment (1d7df6ad51f332c88164c1a79d76e51ff319737ffcd30a17bc4e46604a3c8dd2)
ostree diff commit to:   booted deployment (4f2729c8437e7c68ce920367ea78ed7cec689675d806faaf2a8bc0924fe85bd8)
Upgraded:
  bluedevil 6.2.3-1.fc41 -> 6.2.4-1.fc41
  bootupd 0.2.24-1.fc41 -> 0.2.25-1.fc41
  breeze-cursor-theme 6.2.3-1.fc41 -> 6.2.4-1.fc41
  breeze-gtk-common 6.2.3-1.fc41 -> 6.2.4-1.fc41
  breeze-gtk-gtk2 6.2.3-1.fc41 -> 6.2.4-1.fc41
  breeze-gtk-gtk3 6.2.3-1.fc41 -> 6.2.4-1.fc41
  breeze-gtk-gtk4 6.2.3-1.fc41 -> 6.2.4-1.fc41
  cairo 1.18.0-4.fc41 -> 1.18.2-1.fc41
  cairo-gobject 1.18.0-4.fc41 -> 1.18.2-1.fc41
  containerd.io 1.7.23-3.1.fc41 -> 1.7.24-3.1.fc41
  flatpak-kcm 6.2.3-1.fc41 -> 6.2.4-1.fc41
  fprintd 1.94.2-12.fc41 -> 1.94.4-1.fc41
  fprintd-pam 1.94.2-12.fc41 -> 1.94.4-1.fc41
  git 2.47.0-1.fc41 -> 2.47.1-1.fc41
  git-core 2.47.0-1.fc41 -> 2.47.1-1.fc41
  git-core-doc 2.47.0-1.fc41 -> 2.47.1-1.fc41
  git-credential-libsecret 2.47.0-1.fc41 -> 2.47.1-1.fc41
  kactivitymanagerd 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kcli 99.0.0.git.202411281911.e4f20d5-0.fc41 -> 99.0.0.git.202411292233.af96b7b-0.fc41
  kde-cli-tools 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kde-gtk-config 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kdecoration 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kdeplasma-addons 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kdesu 1:6.2.3-1.fc41 -> 1:6.2.4-1.fc41
  kglobalacceld 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kinfocenter 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kmenuedit 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kpipewire 6.2.3-1.fc41 -> 6.2.4-1.fc41
  krdp 6.2.3-1.fc41 -> 6.2.4-1.fc41
  krdp-libs 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kscreen 1:6.2.3-1.fc41 -> 1:6.2.4-1.fc41
  kscreenlocker 6.2.3-1.fc41 -> 6.2.4-1.fc41
  ksystemstats 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kwayland 6.2.3-1.fc41 -> 6.2.4-1.fc41
  kwin 6.2.3-2.fc41 -> 6.2.4-1.fc41
  kwin-common 6.2.3-2.fc41 -> 6.2.4-1.fc41
  kwin-libs 6.2.3-2.fc41 -> 6.2.4-1.fc41
  kwin-wayland 6.2.3-2.fc41 -> 6.2.4-1.fc41
  kwrited 6.2.3-1.fc41 -> 6.2.4-1.fc41
  layer-shell-qt 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libinput 1.26.2-1.fc41 -> 1.27.0-2.fc41
  libkscreen 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libksysguard 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libksysguard-common 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libkworkspace6 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libldb 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  libnetapi 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  libplasma 6.2.3-1.fc41 -> 6.2.4-1.fc41
  libsmbclient 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  libwbclient 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  nspr 4.35.0-30.fc41 -> 4.36.0-1.fc41
  nss 3.105.0-1.fc41 -> 3.106.0-1.fc41
  nss-softokn 3.105.0-1.fc41 -> 3.106.0-1.fc41
  nss-softokn-freebl 3.105.0-1.fc41 -> 3.106.0-1.fc41
  nss-sysinit 3.105.0-1.fc41 -> 3.106.0-1.fc41
  nss-tools 3.105.0-1.fc41 -> 3.106.0-1.fc41
  nss-util 3.105.0-1.fc41 -> 3.106.0-1.fc41
  ocean-sound-theme 6.2.3-1.fc41 -> 6.2.4-1.fc41
  orca 47.1-1.fc41 -> 47.2-1.fc41
  pam 1.6.1-6.fc41 -> 1.6.1-7.fc41
  pam-kwallet 6.2.3-1.fc41 -> 6.2.4-1.fc41
  pam-libs 1.6.1-6.fc41 -> 1.6.1-7.fc41
  perl-Git 2.47.0-1.fc41 -> 2.47.1-1.fc41
  pipewire-libs-extra 1.2.6-1.fc41 -> 1.2.7-1.fc41
  plasma-activities 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-activities-stats 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-breeze 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-breeze-common 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-breeze-qt5 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-breeze-qt6 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-browser-integration 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-desktop 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-desktop-doc 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-discover 6.2.3-2.fc41 -> 6.2.4-1.fc41
  plasma-discover-flatpak 6.2.3-2.fc41 -> 6.2.4-1.fc41
  plasma-discover-libs 6.2.3-2.fc41 -> 6.2.4-1.fc41
  plasma-discover-notifier 6.2.3-2.fc41 -> 6.2.4-1.fc41
  plasma-disks 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-drkonqi 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-integration 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-integration-qt5 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-lookandfeel-fedora 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-milou 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-nm 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-nm-openconnect 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-nm-openvpn 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-nm-vpnc 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-pa 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-print-manager 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-print-manager-libs 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-systemmonitor 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-systemsettings 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-thunderbolt 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-vault 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-common 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-geolocation 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-geolocation-libs 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-libs 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-wallpapers 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma-workspace-wayland 6.2.3-1.fc41 -> 6.2.4-1.fc41
  plasma5support 6.2.3-1.fc41 -> 6.2.4-1.fc41
  polkit-kde 6.2.3-1.fc41 -> 6.2.4-1.fc41
  powerdevil 6.2.3-1.fc41 -> 6.2.4-1.fc41
  pulseaudio-qt-qt6 1.6.0-1.fc41 -> 1.6.1-1.fc41
  qqc2-breeze-style 6.2.3-1.fc41 -> 6.2.4-1.fc41
  samba 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-client 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-client-libs 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-common 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-common-libs 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-common-tools 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-dcerpc 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-ldb-ldap-modules 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-libs 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-usershares 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-winbind 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-winbind-clients 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  samba-winbind-modules 2:4.21.1-7.fc41 -> 2:4.21.2-1.fc41
  sddm-breeze 6.2.3-1.fc41 -> 6.2.4-1.fc41
  sddm-kcm 6.2.3-1.fc41 -> 6.2.4-1.fc41
  sddm-wayland-plasma 6.2.3-1.fc41 -> 6.2.4-1.fc41
  setroubleshoot-server 3.3.34-1.fc41 -> 3.3.35-1.fc41
  tuned 2.24.0-6.fc41 -> 2.24.1-1.fc41
  tuned-ppd 2.24.0-6.fc41 -> 2.24.1-1.fc41
  xdg-desktop-portal-kde 6.2.3-1.fc41 -> 6.2.4-1.fc41
Removed:
  iceauth-1.0.9-8.fc41.x86_64
  kcron-24.08.3-1.fc41.x86_64
  kwayland-integration-6.2.3-1.fc41.x86_64
  xsetroot-1.1.2-11.fc41.x86_64

Not sure how to diagnose the issue further, but there might be something wrong with one of those updated packages.


Edit: I also rebased to Kinoite and the issue did not appear there for the following versions:

● fedora:fedora/41/x86_64/kinoite
                  Version: 41.20241130.0 (2024-11-30T01:07:51Z)
                   Commit: 74f93e9762317883171a6df7499569805c592f167dfb226a9bf01c742f262984
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1

  fedora:fedora/41/x86_64/kinoite
                  Version: 41.20241203.0 (2024-12-03T02:12:56Z)
                   Commit: 598699548e36a8e624d1d650060c0a5015cddd71ed06b70670132e85402251e1
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1

So this appears to be limited to Aurora.

@ledif
Copy link

ledif commented Dec 3, 2024

Some further digging to try to find out where this symbol is supposed to come from for kde-open. On the Kinoite image:

$ ldd $(which kde-open) | awk '{print $3}' | xargs -I{} nm -D -A {} 2>/dev/null | grep _ZN3KIOeq
/lib64/libKF6KIOCore.so.6:0000000000098720 T _ZN3KIOeqERKNS_8UDSEntryES2_

It looks like the library /lib64/libKF6KIOCore.so is supposed to have this symbol. On the Aurora image, this symbol does not appear in the same library:

> nm -D -A /lib64/libKF6KIOCore.so.6 | grep _ZN3KIOeq
>

So somehow, the libKF6KIOCore.so library is missing symbols that should be there according to the base image. Not sure how that can happen.

@ledif
Copy link

ledif commented Dec 3, 2024

Did some more digging to see where Kinoite and Aurora differ here. Ran the following script to check the different layers of ublue-os/aurora-dx:41-20241130 compared to ublue-os/kinoite-main:41-20241130

img=aurora-dx

for layer in $(crane manifest ghcr.io/ublue-os/${img}:41-20241130 | jq '.layers[] | .digest'); do
  sha=$(echo $layer | tr -d '"')
  echo "Searching layer $sha"
  crane blob ghcr.io/ublue-os/${img}@${sha} | tar -tvz usr/lib64 | grep libKF6KIOCore.so.6
done

ublue-os/aurora-dx:41-20241130

Searching layer sha256:dd5bce6e307d81404b73e62540c42fe7453c3e4a9a879f6de64aa46d2858e425
hrwxrwxrwx 0/0               0 1969-12-31 18:00 usr/lib64/libKF6KIOCore.so.6 link to sysroot/ostree/repo/objects/99/602c29e5c5b9dae591c9401328274b26fa390e070e44b6439e2b4a1799f138.file
hrwxr-xr-x 0/0               0 1969-12-31 18:00 usr/lib64/libKF6KIOCore.so.6.7.0 link to sysroot/ostree/repo/objects/f7/36c82b2ba1e7ff387b66be743164f8dc43e0cee25961bae0d530045342d21e.file

ublue-os/kinoite-main:41-20241130

Searching layer sha256:bca34c9e9cd27a78e2a0ba27128771cca970589f735ac4db26d85c8c906e4716
hrwxr-xr-x 0/0               0 1969-12-31 18:00 usr/lib64/libKF6KIOCore.so.6.8.0 link to sysroot/ostree/repo/objects/2d/0b395fcd2de13be3d50773b10dc25300d86403cfe33787d1c0bf0b0999f7a5.file
hrwxrwxrwx 0/0               0 1969-12-31 18:00 usr/lib64/libKF6KIOCore.so.6 link to sysroot/ostree/repo/objects/57/e890195df164457633db4588ab8e32a36caef992784dda3922def0310057f8.file

Based on this, it seems that Kinoite has updated to KDE Frameworks 6.8 but Aurora still has 6.7 for some reason. And kde-open is relying on KDE Frameworks 6.8.

I'm not familiar with how these images are built, but it seems like somehow Aurora is picking up an old version of KDE Frameworks but some of the KDE utils need a newer version.

@ledif
Copy link

ledif commented Dec 3, 2024

I think I understand what's happening now. There is an override when building the images that is downgrading KIO from 6.8 to 6.7:

rpm-ostree override replace \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:ublue-os:staging \
kf6-kio-doc \
kf6-kio-widgets-libs \
kf6-kio-core-libs \
kf6-kio-widgets \
kf6-kio-file-widgets \
kf6-kio-core \
kf6-kio-gui

If we look at the logs at https://github.com/ublue-os/bluefin/actions/runs/12133739629/job/33829758132, we see this happening:

2024-12-03T05:53:02.0604446Z Downloading from 'copr:copr.fedorainfracloud.org:ublue-os:staging'...done
2024-12-03T05:53:02.0605166Z Installing 7 packages:
2024-12-03T05:53:02.0605916Z   kf6-kio-core-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0607226Z   kf6-kio-core-libs-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0608644Z   kf6-kio-doc-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.noarch (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0610420Z   kf6-kio-file-widgets-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0611841Z   kf6-kio-gui-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0613234Z   kf6-kio-widgets-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.0614747Z   kf6-kio-widgets-libs-6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069.x86_64 (copr:copr.fedorainfracloud.org:ublue-os:staging)
2024-12-03T05:53:02.5977384Z Downgrading: kf6-kio-core-libs;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.6057652Z Downgrading: kf6-kio-doc;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;noarch;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.7276349Z Downgrading: kf6-kio-gui;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.7324366Z Downgrading: kf6-kio-core;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.7699286Z Downgrading: kf6-kio-widgets;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.7761240Z Downgrading: kf6-kio-widgets-libs;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging
2024-12-03T05:53:02.7828801Z Downgrading: kf6-kio-file-widgets;6.7.0-2.fc41.switcheroo.0.0.git.177.aecb2069;x86_64;copr:copr.fedorainfracloud.org:ublue-os:staging

This is because there is apparently a custom build of kf6-kio in ublue's COPR. I have created a PR ublue-os/packages#52 to upgrade this package from 6.7 to 6.8. Hopefully, that will be merged, kf6-kio will be repackaged and deployed to COPR and the next build of Aurora should pick it up.

@castrojo
Copy link
Member

castrojo commented Dec 3, 2024

OK, merged the update, rebuilt it in copr, and rebuilding the images:

https://github.com/ublue-os/bluefin/actions/runs/12149226599
https://github.com/ublue-os/bluefin/actions/runs/12149252804

When these go green someone test and confirm and I'll refresh the isos.

@ledif
Copy link

ledif commented Dec 3, 2024

With aurora-dx:latest, xdg-open no longer crashes and the correct KIO libraries are in /lib64.

@goek-han
Copy link
Author

goek-han commented Dec 4, 2024

Thank you very much @ledif for you time and effort!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants