libqi-python does not compiles on Ubuntu 16.04 (gcc-5.4, boost-1.58). The first encountered issue is:
[ 4%] Building CXX object python2/CMakeFiles/qipython.dir/__/src/pyexport.cpp.o
In file included from /home/slemaignan/dev/include/qi/log.hpp:547:0,
from /home/slemaignan/dev/include/qi/trackable.hpp:18,
from /home/slemaignan/dev/include/qi/detail/future_fwd.hpp:16,
from /home/slemaignan/dev/include/qi/future.hpp:7,
from /home/slemaignan/src/libqi-python/py2py3/../qipython/pyfuture.hpp:16,
from /home/slemaignan/src/libqi-python/src/pyexport.cpp:7:
/home/slemaignan/dev/include/qi/detail/trackable.hxx: In destructor ‘qi::Trackable<T>::~Trackable()’:
/home/slemaignan/dev/include/qi/detail/log.hxx:57:46: error: too few arguments to function ‘boost::format qi::log::detail::getFormat(const string&)’
boost::str(::qi::log::detail::getFormat(Msg) QI_VAARGS_APPLY(_QI_FORMAT_ELEM, _, __VA_ARGS__ /**/))
^
/home/slemaignan/dev/include/qi/detail/log.hxx:41:107: note: in definition of macro ‘_qiLogError’
# define _qiLogError(...) qi::log::LogStream(qi::LogLevel_Error, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self()
^
/home/slemaignan/dev/include/qi/preproc.hpp:104:25: note: in expansion of macro ‘_QI_LOG_FORMAT_HASARG_0’
# define QI_CAT_(A, B) A ## B
^
/home/slemaignan/dev/include/qi/preproc.hpp:103:24: note: in expansion of macro ‘QI_CAT_’
# define QI_CAT(A, B) QI_CAT_(A, B)
^
/home/slemaignan/dev/include/qi/detail/log.hxx:54:3: note: in expansion of macro ‘QI_CAT’
QI_CAT(_QI_LOG_FORMAT_HASARG_, _QI_LOG_ISEMPTY(__VA_ARGS__))(Msg, __VA_ARGS__)
^
/home/slemaignan/dev/include/qi/detail/log.hxx:129:41: note: in expansion of macro ‘_QI_LOG_FORMAT’
BOOST_PP_CAT(_qiLog, TypeCased)(cat, _QI_LOG_FORMAT(__VA_ARGS__))
^
/home/slemaignan/dev/include/qi/preproc.hpp:104:25: note: in expansion of macro ‘_QI_LOG_MESSAGE_STREAM_HASCAT_HASFORMAT_0’
# define QI_CAT_(A, B) A ## B
^
/home/slemaignan/dev/include/qi/preproc.hpp:103:24: note: in expansion of macro ‘QI_CAT_’
# define QI_CAT(A, B) QI_CAT_(A, B)
^
/home/slemaignan/dev/include/qi/detail/log.hxx:120:2: note: in expansion of macro ‘QI_CAT’
QI_CAT(_QI_LOG_MESSAGE_STREAM_HASCAT_HASFORMAT_, _QI_LOG_ISEMPTY( __VA_ARGS__))(Type, TypeCased, cat, __VA_ARGS__)
^
/home/slemaignan/dev/include/qi/detail/log.hxx:115:46: note: in expansion of macro ‘_QI_LOG_MESSAGE_STREAM_HASCAT_0_BOUNCE’
#define _QI_LOG_MESSAGE_STREAM_HASCAT_0(...) _QI_LOG_MESSAGE_STREAM_HASCAT_0_BOUNCE(__VA_ARGS__)
^
/home/slemaignan/dev/include/qi/preproc.hpp:104:25: note: in expansion of macro ‘_QI_LOG_MESSAGE_STREAM_HASCAT_0’
# define QI_CAT_(A, B) A ## B
^
/home/slemaignan/dev/include/qi/preproc.hpp:103:24: note: in expansion of macro ‘QI_CAT_’
# define QI_CAT(A, B) QI_CAT_(A, B)
^
/home/slemaignan/dev/include/qi/detail/log.hxx:104:3: note: in expansion of macro ‘QI_CAT’
QI_CAT(_QI_LOG_MESSAGE_STREAM_HASCAT_, _QI_LOG_ISEMPTY( __VA_ARGS__))(Type, TypeCased, __VA_ARGS__)
^
/home/slemaignan/dev/include/qi/log.hpp:112:28: note: in expansion of macro ‘_QI_LOG_MESSAGE_STREAM’
# define qiLogError(...) _QI_LOG_MESSAGE_STREAM(LogLevel_Error, Error, __VA_ARGS__)
^
/home/slemaignan/dev/include/qi/detail/trackable.hxx:69:7: note: in expansion of macro ‘qiLogError’
qiLogError("qi.Trackable") << "Trackable destroyed without calling destroy()";
^
/home/slemaignan/dev/include/qi/detail/log.hxx:209:28: note: declared here
QI_API boost::format getFormat(const std::string& s);
^
I do however expect other issues related to boost-1.58 like the ones I reported in aldebaran/libqi#14.
Even though @alkino has made clear that boost-1.58 would not be officially supported, I do note that libqi is at least semi-officially supported on boost-1.58 as it is compiled and released as a ROS package by @suryaambrose on Ubuntu 16.04.
So my question: what would it take to get libqi-python to compile on Ubuntu 16.04 using boost-1.58 (to eventually package and release it as a ROS Debian package)?
libqi-python
does not compiles on Ubuntu 16.04 (gcc-5.4
,boost-1.58
). The first encountered issue is:I do however expect other issues related to
boost-1.58
like the ones I reported in aldebaran/libqi#14.Even though @alkino has made clear that
boost-1.58
would not be officially supported, I do note thatlibqi
is at least semi-officially supported onboost-1.58
as it is compiled and released as a ROS package by @suryaambrose on Ubuntu 16.04.So my question: what would it take to get
libqi-python
to compile on Ubuntu 16.04 usingboost-1.58
(to eventually package and release it as a ROS Debian package)?