Bug 463013 - neochat fails to build/link on riscv64 on Debian and Ubuntu (libatomic)
Summary: neochat fails to build/link on riscv64 on Debian and Ubuntu (libatomic)
Status: REPORTED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Debian unstable Linux
: NOR major
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-13 16:09 UTC by Rik Mills
Modified: 2024-12-23 17:34 UTC (History)
2 users (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 Rik Mills 2022-12-13 16:09:31 UTC
neochat fails to build/link on riscv64 on Debian and Ubuntu

https://buildd.debian.org/status/fetch.php?pkg=neochat&arch=riscv64&ver=22.11-2&stamp=1670510307&raw=0

https://launchpad.net/ubuntu/+source/neochat/22.11-2/+build/24910500

[100%] Linking CXX executable ../bin/neochat
cd /<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/neochat-app.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fcoroutines -Wl,--enable-new-dtags -Wl,-z,relro -Wl,-z,now "CMakeFiles/neochat-app.dir/neochat-app_autogen/mocs_compilation.cpp.o" "CMakeFiles/neochat-app.dir/main.cpp.o" "CMakeFiles/neochat-app.dir/neochat-app_autogen/EWIEGA46WW/qrc_res.cpp.o" "CMakeFiles/neochat-app.dir/neochat-app_autogen/EWIEGA46WW/qrc_res_desktop.cpp.o" -o ../bin/neochat  ../lib/libneochat.a /usr/lib/riscv64-linux-gnu/libKF5Kirigami2.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQt5QuickControls2.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5Quick.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5QmlModels.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5Qml.so.5.15.6 /usr/lib/riscv64-linux-gnu/libKF5Notifications.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5SonnetCore.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5ItemModels.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQuotient.so.0.6.11 /usr/lib/riscv64-linux-gnu/libQt5Multimedia.so.5.15.6 /usr/lib/riscv64-linux-gnu/libcmark.so.0.30.2 /usr/lib/riscv64-linux-gnu/libqt5keychain.so.0.13.2 /usr/lib/riscv64-linux-gnu/libKF5KIOWidgets.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5ConfigWidgets.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5Codecs.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5Auth.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5KIOGui.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5WindowSystem.so.5.100.0 /usr/lib/riscv64-linux-gnu/libX11.so /usr/lib/riscv64-linux-gnu/libKF5KIOCore.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQt5Network.so.5.15.6 /usr/lib/riscv64-linux-gnu/libKF5AuthCore.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5JobWidgets.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5Service.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5I18n.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5CoreAddons.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5Solid.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5Completion.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5ConfigGui.so.5.100.0 /usr/lib/riscv64-linux-gnu/libKF5ConfigCore.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQt5Xml.so.5.15.6 /usr/lib/riscv64-linux-gnu/libKF5WidgetsAddons.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQt5Widgets.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5Gui.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5Concurrent.so.5.15.6 /usr/lib/riscv64-linux-gnu/libKF5DBusAddons.so.5.100.0 /usr/lib/riscv64-linux-gnu/libQt5DBus.so.5.15.6 /usr/lib/riscv64-linux-gnu/libQt5Core.so.5.15.6 
/usr/bin/ld: ../lib/libneochat.a(neochatroom.cpp.o): undefined reference to symbol '__atomic_exchange_1@@LIBATOMIC_1.0'
/usr/bin/ld: /usr/lib/riscv64-linux-gnu/libatomic.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Comment 1 Tobias Fella 2022-12-13 16:30:57 UTC
Did you have successful builds of neochat for riscv before?
Does you have similar problems for other KDE projects?

Unfortunately none of the NeoChat developers has any RISC-V hardware to test this
Comment 2 Rik Mills 2022-12-13 16:58:49 UTC
(In reply to Tobias Fella from comment #1)
> Did you have successful builds of neochat for riscv before?
Debian did not AFAIK. Ubuntu did, but that was as a result of a patch to our cmake to solve a similar maridb issue. Need for that has now gone, and our cmake is the same as Debian's, hence this failure popping up. Patching our cmake again is not an option for this.
> Does you have similar problems for other KDE projects?
Nothing yet in big things like fw, plasma and gear. As smaller things get new releases or rebuilt, it could happen.

Since I reported this, we have had a packaging fix:

https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/neochat/commit/?h=kubuntu_lunar_archive

https://launchpad.net/ubuntu/+source/neochat/22.11-2ubuntu2/+build/24935398

Might be the basis for a fix here in KDE?
Comment 3 Tobias Fella 2022-12-13 17:05:17 UTC
(In reply to Rik Mills from comment #2)
> (In reply to Tobias Fella from comment #1)
> > Did you have successful builds of neochat for riscv before?
> Debian did not AFAIK. Ubuntu did, but that was as a result of a patch to our
> cmake to solve a similar maridb issue. Need for that has now gone, and our
> cmake is the same as Debian's, hence this failure popping up. Patching our
> cmake again is not an option for this.
> > Does you have similar problems for other KDE projects?
> Nothing yet in big things like fw, plasma and gear. As smaller things get
> new releases or rebuilt, it could happen.

I've seen patches for libAtomic problems in QCoro before, maybe it's related to that?
> 
> Since I reported this, we have had a packaging fix:
> 
> https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/neochat/
> commit/?h=kubuntu_lunar_archive
> 
> https://launchpad.net/ubuntu/+source/neochat/22.11-2ubuntu2/+build/24935398
> 
> Might be the basis for a fix here in KDE?

Yes, sounds like something that should be done transparently through ecm. My motivation to carry it in neochat itself is relatively low.
Comment 4 Rik Mills 2022-12-13 17:27:03 UTC
Looks like ecm already has a CheckAtomic.cmake, so guess just need to make use of it?
Comment 5 Rik Mills 2022-12-26 13:00:10 UTC
(In reply to Rik Mills from comment #4)
> Looks like ecm already has a CheckAtomic.cmake, so guess just need to make
> use of it?

Yes, appears all that might be needed is something like: https://invent.kde.org/network/neochat/-/snippets/2457