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

Bug#1022065: mujoco: FTBFS on riscv64



Source: mujoco
Version: 2.2.2-2
Severity: important
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)
User: debian-riscv@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: i@hack3r.moe, debian-riscv@lists.debian.org

Dear maintainer,

mujoco failed to build on riscv64 due to missing symbols for sub-word atomic
functions:

```
[66/71] : && /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     -Wl,--gc-sections simulate/CMakeFiles/simulate.dir/main.cc.o simulate/CMakeFiles/simulate.dir/glfw_dispatch.cc.o simulate/CMakeFiles/simulate.dir/simulate.cc.o simulate/CMakeFiles/simulate.dir/uitools.cc.o -o bin/simulate  -Wl,-rpath,"\$ORIGIN/../lib/riscv64-linux-gnu"  lib/riscv64-linux-gnu/liblibsimulate.a  lib/riscv64-linux-gnu/libmujoco.so.2.2.2  /usr/lib/riscv64-linux-gnu/libglfw.so.3.3  /usr/lib/riscv64-linux-gnu/liblodepng.so && :
FAILED: bin/simulate 
: && /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     -Wl,--gc-sections simulate/CMakeFiles/simulate.dir/main.cc.o simulate/CMakeFiles/simulate.dir/glfw_dispatch.cc.o simulate/CMakeFiles/simulate.dir/simulate.cc.o simulate/CMakeFiles/simulate.dir/uitools.cc.o -o bin/simulate  -Wl,-rpath,"\$ORIGIN/../lib/riscv64-linux-gnu"  lib/riscv64-linux-gnu/liblibsimulate.a  lib/riscv64-linux-gnu/libmujoco.so.2.2.2  /usr/lib/riscv64-linux-gnu/libglfw.so.3.3  /usr/lib/riscv64-linux-gnu/liblodepng.so && :
/usr/bin/ld: simulate/CMakeFiles/simulate.dir/simulate.cc.o: in function `std::__atomic_base<bool>::exchange(bool, std::memory_order)':
./obj-riscv64-linux-gnu/./simulate/simulate.cc:513: undefined reference to `__atomic_exchange_1'
collect2: error: ld returned 1 exit status
```

Full buildd log: https://buildd.debian.org/status/fetch.php?pkg=mujoco&arch=riscv64&ver=2.2.2-1&stamp=1664815613&raw=0

Attached is a patch that links libatomic to bin/simulate on riscv64 platform
and fix FTBFS. If more help is needed, please let me know.

Cheers,
Eric
--- a/simulate/CMakeLists.txt
+++ b/simulate/CMakeLists.txt
@@ -245,3 +245,7 @@
     endif()
   endif()
 endif()
+
+if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "riscv64")
+  target_link_libraries(simulate atomic)
+endif()

Reply to: