I need to implement my own bag file recorder using rosbag2_py API. But there was some error during app startup.
I attach the log and a minimal code to reproduce the issue.
conflict.log (30.4 KB)
test_conflict.py.txt (107 Bytes)
Here’s my own investigation:
linh@ubuntu2204:~$ ldd /home/linh/.local/share/ov/pkg/isaac-sim-4.1.0/exts/omni.isaac.lula/pip_prebundle/_lula_libs/liblula_util.so
…
libyaml-cpp.so.0.7 => /home/linh/.local/share/ov/pkg/isaac-sim-4.1.0/exts/omni.isaac.lula/pip_prebundle/_lula_libs/libyaml-cpp.so.0.7 (0x0000732c6e10b000)
…
linh@ubuntu2204:~$ ldd /opt/ros/humble/lib/librosbag2_cpp.so
…
libyaml-cpp.so.0.7 => /lib/x86_64-linux-gnu/libyaml-cpp.so.0.7 (0x00007e521925d000)
…
linh@ubuntu2204:~$ nm /home/linh/.local/share/ov/pkg/isaac-sim-4.1.0/exts/omni.isaac.lula/pip_prebundle/_lula_libs/libyaml-cpp.so.0.7 | grep _ZN4YAML8LoadFileERKSs
000000000004ba70 T _ZN4YAML8LoadFileERKSs
0000000000020c1d t _ZN4YAML8LoadFileERKSs.cold
It looks like the 2 libraries are linked against different libyaml-cpp, leading to symbol name conflict even thought the version of libyaml-cpp are the same.
How do i solve this conflict? Right now there is no need for me to use the lula module and the simulation works fine without it. But I rather fix it before it actually cause me any trouble.
Thanks.