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
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
(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?
(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.
Looks like ecm already has a CheckAtomic.cmake, so guess just need to make use of it?
(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