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

Bug#1025682: mujoco: please fix symbols file and riscv64 build [PATCH]



Source: mujoco
Version: 2.2.2-2
tags: patch


Hello, this is how I fixed the build in Ubuntu, by adding -latomic to fix a link failure on riscv64 (and others), and forwarded patch upstream, and by making some symbols disappearing with different gcc optimization level, lto enabled, or newer gcc.

diff -Nru mujoco-2.2.2/debian/changelog mujoco-2.2.2/debian/changelog
--- mujoco-2.2.2/debian/changelog	2022-10-08 00:31:52.000000000 +0200
+++ mujoco-2.2.2/debian/changelog	2022-12-07 08:25:37.000000000 +0100
@@ -1,3 +1,10 @@
+mujoco (2.2.2-3) unstable; urgency=medium
+
+  * Fix build on riscv64 by linking latomic.
+  * Fixup symbols file.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 07 Dec 2022 08:25:37 +0100
+
 mujoco (2.2.2-2) unstable; urgency=medium
* Only track symbols for amd64 architecture.
diff -Nru mujoco-2.2.2/debian/libmujoco2.2.2.symbols.amd64 mujoco-2.2.2/debian/libmujoco2.2.2.symbols.amd64
--- mujoco-2.2.2/debian/libmujoco2.2.2.symbols.amd64	2022-10-02 18:21:42.000000000 +0200
+++ mujoco-2.2.2/debian/libmujoco2.2.2.symbols.amd64	2022-12-07 08:25:37.000000000 +0100
@@ -1,4 +1,4 @@
-libmujoco.so.2.2.2 libmujoco2.2.2 #MINVER#
+nlibmujoco.so.2.2.2 libmujoco2.2.2 #MINVER#
 * Build-Depends-Package: libmujoco-dev
  (optional)_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_@Base 2.2.0
  (optional)_ZNSt6vectorI7mjtObj_SaIS0_EE17_M_realloc_insertIJRKS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_@Base 2.2.0
@@ -10,7 +10,7 @@
  (optional)_ZNSt6vectorIS_IfSaIfEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 2.2.0
  (optional)_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_default_appendEm@Base 2.2.0
  (optional)_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 2.2.0
- _ZNSt6vectorISt4pairIiiESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 2.2.2
+ (optional)_ZNSt6vectorISt4pairIiiESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 2.2.2
  (optional)_ZNSt6vectorIdSaIdEE17_M_default_appendEm@Base 2.2.0
  (optional)_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_@Base 2.2.0
  (optional)_ZNSt6vectorIfSaIfEE17_M_default_appendEm@Base 2.2.0
@@ -22,10 +22,10 @@
  (optional)_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_@Base 2.2.0
  (optional)_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_@Base 2.2.0
  (optional)_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJRKjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_@Base 2.2.0
- _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJS6_IS5_S5_EEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 2.2.2
- _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 2.2.2
- _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 2.2.2
- _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJS6_IS5_iEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 2.2.2
+ (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJS6_IS5_S5_EEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 2.2.2
+ (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 2.2.2
+ (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 2.2.2
+ (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJS6_IS5_iEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 2.2.2
  (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 2.2.0
  (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 2.2.0
  (optional)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_@Base 2.2.0
@@ -33,7 +33,7 @@
  (optional)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@Base 2.2.0
  _ZTI13mj_XMLPrinter@Base 2.2.0
  _ZTS13mj_XMLPrinter@Base 2.2.0
- _ZTV13mj_XMLPrinter@Base 2.2.0
+ (optional)_ZTV13mj_XMLPrinter@Base 2.2.0
  _mjPRIVATE__get_tls_error_fn@Base 2.2.0
  _mjPRIVATE__get_tls_warning_fn@Base 2.2.0
  _mjPRIVATE__get_xml_precision@Base 2.2.0
diff -Nru mujoco-2.2.2/debian/patches/add-atomic.patch mujoco-2.2.2/debian/patches/add-atomic.patch
--- mujoco-2.2.2/debian/patches/add-atomic.patch	1970-01-01 01:00:00.000000000 +0100
+++ mujoco-2.2.2/debian/patches/add-atomic.patch	2022-12-07 08:25:37.000000000 +0100
@@ -0,0 +1,14 @@
+Description: Link with atomic, to fix FTBFS on riscv64
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Last-Update: 2022-12-07
+Forwarded: https://github.com/deepmind/mujoco/pull/632
+--- mujoco-2.2.2.orig/simulate/CMakeLists.txt
++++ mujoco-2.2.2/simulate/CMakeLists.txt
+@@ -151,6 +151,7 @@ target_link_libraries(
+   glfw
+   Threads::Threads
+   lodepng
++  atomic
+ )
+
+ target_link_options(simulate PRIVATE ${MUJOCO_SIMULATE_LINK_OPTIONS})
diff -Nru mujoco-2.2.2/debian/patches/series mujoco-2.2.2/debian/patches/series
--- mujoco-2.2.2/debian/patches/series	2022-10-02 17:54:52.000000000 +0200
+++ mujoco-2.2.2/debian/patches/series	2022-12-07 08:24:20.000000000 +0100
@@ -1 +1,2 @@
 cmake.patch
+add-atomic.patch

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: