Source: telegram-desktop Version: 4.1.1+ds-1 Severity: normal Tags: ftbfs, patch User: debian-riscv@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: debian-riscv@lists.debian.org Dear telegram-desktop Maintainer, The package has a ftbfs on riscv64 due to: ``` [ 18%] Linking CXX executable codegen_style cd /<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/Telegram/codegen/codegen/style && /usr/bin/cmake -E cmake_link_script CMakeFiles/codegen_style.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -ftemplate-backtrace-limit=0 -Wdate-time -D_FORTIFY_SOURCE=2 -Werror=invalid-pch -Wl,-z,relro -Wl,-z,now -Wl,--as-needed CMakeFiles/codegen_style.dir/generator.cpp.o CMakeFiles/codegen_style.dir/main.cpp.o CMakeFiles/codegen_style.dir/module.cpp.o CMakeFiles/codegen_style.dir/options.cpp.o CMakeFiles/codegen_style.dir/parsed_file.cpp.o CMakeFiles/codegen_style.dir/processor.cpp.o CMakeFiles/codegen_style.dir/structure_types.cpp.o ../common/CMakeFiles/codegen_common.dir/basic_tokenized_file.cpp.o ../common/CMakeFiles/codegen_common.dir/checked_utf8_string.cpp.o ../common/CMakeFiles/codegen_common.dir/clean_file.cpp.o ../common/CMakeFiles/codegen_common.dir/cpp_file.cpp.o ../common/CMakeFiles/codegen_common.dir/logging.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/common/crl_common_fp_exceptions.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/common/crl_common_list.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/common/crl_common_on_main.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/common/crl_common_queue.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/dispatch/crl_dispatch_async.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/dispatch/crl_dispatch_queue.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/dispatch/crl_dispatch_semaphore.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/linux/crl_linux_time.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/qt/crl_qt_async.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/qt/crl_qt_semaphore.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/winapi/crl_winapi_async.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/winapi/crl_winapi_fp_exceptions.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/winapi/crl_winapi_list.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/winapi/crl_winapi_semaphore.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/winapi/crl_winapi_time.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/crl_object_on_thread.cpp.o ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/crl_time.cpp.o -o codegen_style ../../../../cmake/linux_jemalloc_helper/CMakeFiles/linux_jemalloc_helper.dir/linux_jemalloc_helper.cpp.o ../../../lib_base/liblib_base.a -ldl /usr/lib/riscv64-linux-gnu/libQt5Network.so.5.15.4 /usr/lib/riscv64-linux-gnu/libQt5Svg.so.5.15.4 /usr/lib/riscv64-linux-gnu/libQt5Widgets.so.5.15.4 /usr/lib/riscv64-linux-gnu/libQt5XkbCommonSupport.a /usr/lib/riscv64-linux-gnu//libQt5Gui.so /usr/lib/riscv64-linux-gnu//libQt5Core.so /usr/lib/riscv64-linux-gnu/libxkbcommon.so /usr/lib/riscv64-linux-gnu/libGL.so /usr/lib/riscv64-linux-gnu/libQt5WaylandClient.so.5.15.4 /usr/lib/riscv64-linux-gnu/libQt5Gui.so.5.15.4 /usr/lib/riscv64-linux-gnu/libQt5Core.so.5.15.4 /usr/lib/riscv64-linux-gnu/libssl.so /usr/lib/riscv64-linux-gnu/libcrypto.so /usr/lib/riscv64-linux-gnu/libcrypto.so /usr/lib/riscv64-linux-gnu/libxxhash.so /usr/lib/riscv64-linux-gnu/libgiomm-2.4.so /usr/lib/riscv64-linux-gnu/libglibmm-2.4.so /usr/lib/riscv64-linux-gnu/libsigc-2.0.so /usr/lib/riscv64-linux-gnu/libgio-2.0.so /usr/lib/riscv64-linux-gnu/libgobject-2.0.so /usr/lib/riscv64-linux-gnu/libglib-2.0.so /usr/lib/riscv64-linux-gnu/libxcb-keysyms.so /usr/lib/riscv64-linux-gnu/libxcb-record.so /usr/lib/riscv64-linux-gnu/libxcb-screensaver.so /usr/lib/riscv64-linux-gnu/libxcb.so /usr/lib/riscv64-linux-gnu/libwayland-client.so /usr/bin/ld: ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/common/crl_common_queue.cpp.o: in function `std::__atomic_base<bool>::compare_exchange_strong(bool&, bool, std::memory_order, std::memory_order)': /usr/include/c++/12/bits/atomic_base.h:560: undefined reference to `__atomic_compare_exchange_1' /usr/bin/ld: ../../../lib_crl/CMakeFiles/lib_crl.dir/crl/crl_object_on_thread.cpp.o: in function `std::unique_lock<std::mutex>::unlock()': /usr/include/c++/12/bits/unique_lock.h:193: undefined reference to `__atomic_compare_exchange_1' collect2: error: ld returned 1 exit status make[3]: *** [Telegram/codegen/codegen/style/CMakeFiles/codegen_style.dir/build.make:268: Telegram/codegen/codegen/style/codegen_style] Error 1 make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu' make[2]: *** [CMakeFiles/Makefile2:2224: Telegram/codegen/codegen/style/CMakeFiles/codegen_style.dir/all] Error 2 make[2]: *** Waiting for unfinished jobs.... ``` The patch attached is trying to fix the issue and it can be built successfully on my local real riscv64 hardware, so could you apply it in the next time. thanks. -- Regards, -- Bo YU
diff -Nru telegram-desktop-4.1.1+ds/debian/rules telegram-desktop-4.1.1+ds/debian/rules --- telegram-desktop-4.1.1+ds/debian/rules 2022-07-03 12:44:08.000000000 +0000 +++ telegram-desktop-4.1.1+ds/debian/rules 2022-08-17 17:16:12.000000000 +0000 @@ -65,6 +65,11 @@ DEB_CXXFLAGS_MAINT_PREPEND += -gsplit-dwarf endif +# Link with libatomic on riscv64 +ifeq ($(DEB_HOST_ARCH),riscv64) + export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed +endif + ifeq ($(filter pkg.$(DEB_SOURCE).hugeopt,$(DEB_BUILD_PROFILES)),) ifeq ($(DEB_VENDOR),Ubuntu) # Link time optimizations require more than 8 GB of RAM.
Attachment:
signature.asc
Description: PGP signature