Change destination of libxxx.so for WOLF and dependencies
UPDATE:
In order to avoid problems in runtime to find .so files, we decided to change the destination of the libxxx.so to /usr/local/lib
, this means changing CMakeFile.txt
of:
- wolf core
- wolf plugins
- laser_scan_utils
- gnss_utils
- vision_utils
I've been trying to set up wolf + ROS on my own personal computer with Linux Mint (Ubuntu 18.04) and I've come across some issues with varying degree of importance. There are some minor issues that can be solved by adjusting the compiler flags in the CMakelists.txt but I wanted to draw attention to a (potential) major issue:
The issue comes up when installing the laser
plugin. As you know, the laser
plugin depends on laser_scan_utils
. After I compile & install the laser
plugin:
path/to/laser/build: cmake ..
path/to/laser/build: make
path/to/laser/build: sudo make install
if I try to use the wolf::loader
to load /usr/local/lib/iri-algorithms/libwolflaser.so
I'll be met by the following error:
[trace][14:13:03] [problem.cpp L107 : autoSetup] Loading plugin /usr/local/lib/iri-algorithms/libwolflaser.so
terminate called after throwing an instance of 'std::runtime_error'
what(): Couldn't load resource with path /usr/local/lib/iri-algorithms/libwolflaser.so
Error info: liblaser_scan_utils.so: cannot open shared object file: No such file or directory
But, if instead of doing sudo make install
we just copy libwolflaser.so
to /usr/local/lib/iri-algorithms
then everything works. Thinking about the final user of wolf
this looks like an extremely major issue but I don't know how to debug this error or have any idea as to what could cause it. I don't know either if this only happens to my personal computer, since IRI computers use ubuntu 16.04.