-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
I've been toying a bit with the new noetic branch trying to update some old code base. In the same node where I make use of MessageStoreProxy I need to make use of boost::thread.
I was getting a segfault randomly happening in the spawned thread. After debugging for a while without a clue. Found out that the resulting node is linking to boost 1.71 (noetic dependency) and 1.67 (libmongoclient dependency). This is known to lead to segfaults in some cases.
https://answers.ros.org/question/190902/two-versions-of-libboost/
Even on the provided message_store_cpp_test this happens:
ldd devel/lib/mongodb_store/message_store_cpp_test | grep boost
libboost_thread.so.1.67.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.67.0 (0x00007f70eb667000)
libboost_system.so.1.67.0 => /lib/x86_64-linux-gnu/libboost_system.so.1.67.0 (0x00007f70eb660000)
libboost_thread.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0 (0x00007f70eb5d9000)
libboost_chrono.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_chrono.so.1.71.0 (0x00007f70eb5cb000)
libboost_filesystem.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 (0x00007f70eb5ad000)
libboost_regex.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_regex.so.1.71.0 (0x00007f70eb159000)
Is there any way to prevent this and force the usage of one boost library only?
Using Ubuntu 20.04
Metadata
Metadata
Assignees
Labels
No labels