[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1017847: thinkfan: ftbfs on riscv64(" undefined reference to `__atomic_fetch_sub_1'")



Source: thinkfan
Version: 1.3.1-2
Severity: normal
Tags: ftbfs, patch
User: debian-riscv@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-riscv@lists.debian.org

Dear thinkfan Maintainer,

The thinkfan package has a ftbfs issue due to missing link
libatomic:

/usr/bin/cmake -E cmake_link_script CMakeFiles/thinkfan.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 -Wl,-z,relro -rdynamic CMakeFiles/thinkfan.dir/src/thinkfan.cpp.o CMakeFiles/thinkfan.dir/src/config.cpp.o CMakeFiles/thinkfan.dir/src/fans.cpp.o CMakeFiles/thinkfan.dir/src/sensors.cpp.o CMakeFiles/thinkfan.dir/src/message.cpp.o CMakeFiles/thinkfan.dir/src/parser.cpp.o CMakeFiles/thinkfan.dir/src/error.cpp.o CMakeFiles/thinkfan.dir/src/yamlconfig.cpp.o -o thinkfan  -lpthread -latasmart -ldl -lyaml-cpp
/usr/bin/ld: CMakeFiles/thinkfan.dir/src/thinkfan.cpp.o: in function `__gnu_cxx::__enable_if<std::__is_scalar<float>::__value, void>::__type std::__fill_a1<float*, float>(float*, float*, float const&)':
/usr/include/c++/11/bits/stl_algobase.h:924: undefined reference to `__atomic_fetch_sub_1'

The full buildd log is here:
https://buildd.debian.org/status/fetch.php?pkg=thinkfan&arch=riscv64&ver=1.3.1-2&stamp=1655545228&raw=0

The patch attached is trying to fix the issue and it is build ok on my
locally real riscv64 hardware, so could you apply it in the next upload
time?

please let me know if there are any issues.

-- 
Regards,
--
  Bo YU

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -108,6 +108,11 @@
 	target_link_libraries(thinkfan PRIVATE ${YAML_CPP_LIBRARIES})
 endif(USE_YAML)
 
+if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "riscv64")
+    target_link_libraries(thinkfan PRIVATE -latomic)
+endif()
+
+
 if(SYSTEMD_FOUND)
 	target_compile_definitions(thinkfan PRIVATE -DHAVE_SYSTEMD)
 endif()

Attachment: signature.asc
Description: PGP signature


Reply to: