Bug 501214 - libQt6Network.so.6.8.1 library shipped with the kf6-core24 6.8.1-6.9.0-6.2.5-24.12.0 snap is missing symbols
Summary: libQt6Network.so.6.8.1 library shipped with the kf6-core24 6.8.1-6.9.0-6.2.5-...
Status: RESOLVED FIXED
Alias: None
Product: neon
Classification: KDE Neon
Component: Snaps (other bugs)
Version First Reported In: unspecified
Platform: Snap Linux
: NOR normal
Target Milestone: ---
Assignee: Scarlett Moore
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-08 06:49 UTC by Furgo
Modified: 2025-04-13 11:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Furgo 2025-03-08 06:49:32 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY


STEPS TO REPRODUCE

On a snap created using the kde-neon-6 extension, trying to import QtNetwork fails:

>>> from PySide import QtNetwork
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/snap/freecad_qt6/x1/usr/Ext/PySide/QtNetwork.py", line 1, in <module>
    from PySide6.QtNetwork import *
ImportError: /snap/freecad/x1/usr/lib/python3/dist-packages/PySide6/QtNetwork.abi3.so: undefined symbol: _ZTI11QSctpServer, version Qt_6

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Ubuntu 24.04
KDE Frameworks Version: kf6-core24
Qt Version: 6.8.1

ADDITIONAL INFORMATION

See comments starting from https://github.com/FreeCAD/FreeCAD-snap/pull/179#issuecomment-2707076250 and onwards for a more detailed analysis.

In summary, I believe the `libQt6Network.so.6.8.1` library shipped with the kf6-core24 6.8.1-6.9.0-6.2.5-24.12.0 snap is somehow corrupt. It appears not to contain the QSctpServer symbol.

$ nm -gDC /snap/kf6-core24/18/usr/lib/x86_64-linux-gnu/libQt6Network.so.6.8.1 | grep QSctpServer

The above command returns nothing. Expected: it should return the QSctpServer symbol.

Also, when comparing its size (2.8 MB) with that of the same library in the KDE Neon archive (https://archive.neon.kde.org/user/pool/main/q/qt6-base/), which is 1.9 MB, it's rather odd that it's 1 MB bigger.
Comment 1 Scarlett Moore 2025-03-08 11:30:12 UTC
Well by the looks of it pyside is from neon repos ( I believe they are on 6.8.2 ) while we build 6.8.1 still hence the undefined symbol. So you will need to build pyside from source or wait until I update the snap to 6.8.2.
Comment 2 Scarlett Moore 2025-03-08 12:38:22 UTC
Updating qt6 and adding pyside to the snap https://invent.kde.org/neon/snap-packaging/kde-qt6-core-sdk/-/commit/4cb4b081cf92da853e9bbccc745e4e33aa664525

It will be awhile before this will make it to store. Hopefully Monday.
Comment 3 Furgo 2025-03-09 18:32:54 UTC
(In reply to Scarlett Moore from comment #1)
> Well by the looks of it pyside is from neon repos ( I believe they are on
> 6.8.2 ) while we build 6.8.1 still hence the undefined symbol. So you will
> need to build pyside from source or wait until I update the snap to 6.8.2.

Thanks! I'll wait for the update to 6.8.2, then.

Is there any way to get a notification when the new kde-qt6-core-sdk snap being released, or of the package being published to the snapcraft store?
Comment 4 Scarlett Moore 2025-03-09 19:02:22 UTC
I will let you know. Unfortunately, I am traveling for a family emergency so it will be delayed a day or two. So sorry.
Comment 5 Furgo 2025-03-09 20:30:37 UTC
No worries, no need to let me know. I'll just keep checking the snapcraft store then, thanks!
Comment 6 Furgo 2025-03-19 11:19:54 UTC
I hope all is well. Friendly reminder to do the store upload whenever possible. Thanks!
Comment 8 Furgo 2025-03-24 17:45:53 UTC
Thanks. Sorry, I'm not an expert on Qt, just a consumer. Instead of a standalone separate PySide snap. Could the PySide packages from the KDE Neon archive be not be used for PySide and included int the -sdk snap?
Comment 9 Scarlett Moore 2025-03-25 10:20:54 UTC
Then we face issue with undefined symbols if kde neon isn't on the same version of QT as you faced in this bug report :) I have decided to package pyside as a separate snap. Qt6 sdk and runtime are in --edge. Will you be using the new kde-neon-qt6 extension?
Comment 10 Scarlett Moore 2025-03-25 11:03:17 UTC
Meh, I guess sdk was pushed to beta, promoted to edge now, runtime is in queue to build.
Comment 11 Furgo 2025-03-26 07:44:40 UTC
(In reply to Scarlett Moore from comment #9)
> Then we face issue with undefined symbols if kde neon isn't on the same
> version of QT as you faced in this bug report :) I have decided to package
> pyside as a separate snap. Qt6 sdk and runtime are in --edge. Will you be
> using the new kde-neon-qt6 extension?

We need both Qt5 and Qt6 builds for FreeCAD. I do not know the difference between the kde-neon-6 and kde-neon-qt6 extensions. For the draft PR enabling the Qt6 builds, I'm using kde-neon-6 (https://github.com/FreeCAD/FreeCAD-snap/pull/179).

Should I use `kde-neon-qt6` instead? What are the differences and pros/cons?

Thanks!
Comment 12 Furgo 2025-03-26 07:49:53 UTC
At https://snapcraft.io/kde-qt6-core24-sdk I see now `latest/edge` and `latest/beta` are on 6.8.2. I don't know whether (and how) I should enable those channels for the extension, or if I should wait for the PySide snap to be available. Could you advise? Thanks!
Comment 13 Scarlett Moore 2025-03-27 17:58:58 UTC
Qt6 and kf6 all pushed to stable. The kde-neon-qt6 extension is standalone qt6 verses the kf6 which has all kde libraries as well. Its if you don't use kde libraries to have a smaller footprint. I haven't gotten anywhere with pyside, in theory the package should work now.
Comment 14 Furgo 2025-04-01 05:40:37 UTC
Adding https://github.com/FreeCAD/FreeCAD-snap/pull/179#issuecomment-2768152272 to keep comments in sync for future reference.