The boost recipe in pybombs builds using the --layout=tagged option
which will generate libraries with the -mt suffix. The ‘mt’ stands
for multi threaded and is only available for historical reasons,I
suppose.
Is there any particular reason for using this optionin pybombs? There
are some linux distributions that have abandoned the -mt suffix and
gnuradio builds just fine on those. Ubuntu still uses the -mt suffix
but also creates softlinks without the suffix, so it is safe for an
application to only link to libboost-xyz without the suffix.
This is set because of the unfortunate way some version of
FindBoost.cmake are written
the order it searches for libs can look something like
check for libboostfoo-mt.so in $BOOST_ROOT
check for libboostfoo-mt.so in /usr/lib/
check for libboostfoo.so in $BOOST_ROOT
check for libboostfoo.so in /usr/lib/
A result of this is that if you build without the -mt tag, and you are
on a distro that has an older version of boost installed into /usr/lib/
system paths - $BOOST_ROOT will be ignored because it checks all the
search directories for each library naming case in an unfortunate order.
So building with -mt every time to ensures FindBoost.cmake picks up the
right prefixed boost library (if built from source) every time when
building other recipes that use boost & cmake.
-Tim
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.