aldebaran / libqi-python

qiSDK python bindings
BSD 3-Clause "New" or "Revised" License
15 stars 11 forks source link

Building on i686 (nao vm 2.1.12) using boost-1.58 | segfaults in qi #6

Closed warp1337 closed 6 years ago

warp1337 commented 6 years ago

Hi,

I assume this is a special use case, however, maybe someone can give me a hint.

I successfully build libqi and libqi-python on Ubuntu 16.04 using qibuild and boost 1.58 (used @severin-lemaignan 's fork of libqi). I can do a

import qi

With no problem at all.

However, built on i686 (in the nao vm version 2.1.12) --- even after successful compilation of both libs, also using qibuild --- I get the following when trying the same in the VM...

`` Program received signal SIGSEGV, Segmentation fault. 0x0001b83a in ?? () (gdb) bt

0 0x0001b83a in ?? ()

1 0xb6e74797 in boost::python::objects::register_dynamic_id () at /home/nao/ros_distro/include/boost/python/object/inheritance.hpp:73

2 boost::python::objects::register_shared_ptr_from_python_andcasts<qi::py::PyPromise, boost::python::bases<mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void_> > () at /home/nao/ros_distro/include/boost/python/object/class_metadata.hpp:97

3 boost::python::objects::class_metadata<qi::py::PyPromise, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified>::register_aux2<qi::py::PyPromise, boost::integral_constant<bool, false> > () at /home/nao/ros_distro/include/boost/python/object/class_metadata.hpp:225

4 boost::python::objects::class_metadata<qi::py::PyPromise, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified>::register_aux () at /home/nao/ros_distro/include/boost/python/object/class_metadata.hpp:219

5 boost::python::objects::class_metadata<qi::py::PyPromise, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::notspecified>::register

() at /home/nao/ros_distro/include/boost/python/object/class_metadata.hpp:205

6 boost::python::class_<qi::py::PyPromise, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::notspecified>::initialize<boost::python::init<mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void, mpl::void_> > (i=..., this=0xbfffe2f4) at /home/nao/ros_distro/include/boost/python/class.hpp:497

7 boost::python::class_<qi::py::PyPromise, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::notspecified>::class (doc=0x0,

name=0xb6efc65c "Promise", this=0xbfffe2f4) at /home/nao/ros_distro/include/boost/python/class.hpp:630

8 qi::py::export_pyfuture () at /home/nao/ros_distro/external/qi/aldebaran/libqi-python/src/pyfuture.cpp:282

9 0xb6e5bb25 in qi::py::export_all () at /home/nao/ros_distro/external/qi/aldebaran/libqi-python/src/pyexport.cpp:24

10 0xb7b36b51 in init_module__qi () at /home/nao/ros_distro/external/qi/aldebaran/libqi-python/src/boostpymain.cpp:26

11 0xb7ab6d5b in boost::detail::function::void_function_ref_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) ()

from /home/nao/ros_distro/lib/python2.7/site-packages/../../libboost_python.so `` I could spent another day on this, but maybe someone has an idea? Maybe @suryaambrose ?

warp1337 commented 6 years ago

Okay turns out it was the python version which has to be compiled using:

--enable-unicode=ucs4