Author Topic: Problem adding plugin system.  (Read 4864 times)

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Problem adding plugin system.
« on: February 25, 2015, 04:22:33 am »
I got a problem including the python plugin system and im not familair with the error and how it can be solved:
Code: [Select]
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52:0,
                 from /usr/include/boost/python/object/value_holder.hpp:50,
                 from /usr/include/boost/python/object/class_metadata.hpp:11,
                 from /usr/include/boost/python/class.hpp:23,
                 from /usr/include/boost/python.hpp:18,
                 from includes.h:72,
                 from ghost.h:26,
                 from bnet.cpp:23:
/usr/include/boost/python/object/value_holder.hpp: In instantiation of ‘boost::python::objects::value_holder<Value>::value_holder(PyObject*, A0) [with A0 = boost::reference_wrapper<const CBNET>; Value = CBNET; PyObject = _object]’:
/usr/include/boost/python/object/make_instance.hpp:71:48:   required from ‘static Holder* boost::python::objects::make_instance<T, Holder>::construct(void*, PyObject*, boost::reference_wrapper<const T>) [with T = CBNET; Holder = boost::python::objects::value_holder<CBNET>; PyObject = _object]’
/usr/include/boost/python/object/make_instance.hpp:45:74:   required from ‘static PyObject* boost::python::objects::make_instance_impl<T, Holder, Derived>::execute(Arg&) [with Arg = const boost::reference_wrapper<const CBNET>; T = CBNET; Holder = boost::python::objects::value_holder<CBNET>; Derived = boost::python::objects::make_instance<CBNET, boost::python::objects::value_holder<CBNET> >; PyObject = _object]’
/usr/include/boost/python/object/class_wrapper.hpp:29:51:   required from ‘static PyObject* boost::python::objects::class_cref_wrapper<Src, MakeInstance>::convert(const Src&) [with Src = CBNET; MakeInstance = boost::python::objects::make_instance<CBNET, boost::python::objects::value_holder<CBNET> >; PyObject = _object]’
/usr/include/boost/python/converter/as_to_python_function.hpp:27:61:   required from ‘static PyObject* boost::python::converter::as_to_python_function<T, ToPython>::convert(const void*) [with T = CBNET; ToPython = boost::python::objects::class_cref_wrapper<CBNET, boost::python::objects::make_instance<CBNET, boost::python::objects::value_holder<CBNET> > >; PyObject = _object]’
/usr/include/boost/python/to_python_converter.hpp:88:9:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/python/object/class_metadata.hpp:229:80:   required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_aux2(T2*, Callback) [with T2 = CBNET; Callback = boost::integral_constant<bool, false>; T = CBNET; X1 = boost::python::detail::not_specified; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/object/class_metadata.hpp:219:60:   required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_aux(void*) [with T = CBNET; X1 = boost::python::detail::not_specified; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/object/class_metadata.hpp:205:43:   required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_() [with T = CBNET; X1 = boost::python::detail::not_specified; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/class.hpp:507:29:   required from ‘void boost::python::class_<T, X1, X2, X3>::initialize(boost::python::no_init_t) [with W = CBNET; X1 = boost::python::detail::not_specified; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/class.hpp:638:5:   required from ‘boost::python::class_<T, X1, X2, X3>::class_(const char*, boost::python::no_init_t) [with W = CBNET; X1 = boost::python::detail::not_specified; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
bnet.cpp:4049:31:   required from here
/usr/include/boost/python/object/value_holder.hpp:137:13: error: no matching function for call to ‘CBNET::CBNET(boost::reference_wrapper<const CBNET>::type&)’
             BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
             ^
/usr/include/boost/python/object/value_holder.hpp:137:13: note: candidates are:
bnet.cpp:50:1: note: CBNET::CBNET(CGHost*, std::string, std::string, std::string, uint16_t, uint32_t, std::string, std::string, std::string, std::string, uint32_t, std::string, std::string, std::string, char, bool, bool, bool, unsigned char, BYTEARRAY, BYTEARRAY, std::string, std::string, uint32_t, uint32_t, uint8_t)
 CBNET :: CBNET( CGHost *nGHost, string nServer, string nServerAlias, string nBNLSServer, uint16_t nBNLSPort, uint32_t nBNLSWardenCookie, string nCDKeyROC, string nCDKeyTFT, string nCountryAbbrev, string nCountry, uint32_t nLocaleID, string nUserName, string nUserPassword, string nFirstChannel, char nCommandTrigger, bool nHoldFriends, bool nHoldClan, bool nPublicCommands, unsigned char nWar3Version, BYTEARRAY nEXEVersion, BYTEARRAY nEXEVersionHash, string nPasswordHashType, string nPVPGNRealmName, uint32_t nMaxMessageLength, uint32_t nHostCounterID, uint8_t nup )
 ^
bnet.cpp:50:1: note:   candidate expects 26 arguments, 1 provided
In file included from bnet.cpp:33:0:
bnet.h:79:7: note: CBNET::CBNET(CBNET&)
 class CBNET
       ^
bnet.h:79:7: note:   no known conversion for argument 1 from ‘boost::reference_wrapper<const CBNET>::type {aka const CBNET}’ to ‘CBNET&’
make: *** [bnet.o] Error 1

Its probably happening on bnet.cpp, the compile didnt throw an error on bncsutilinterface.cpp.

Referenced commit:
https://github.com/OHSystem/OHSystem/commit/2257b168a742d1254847d5668254ea2cde49ff01

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #1 on: February 25, 2015, 09:09:24 am »
You have error similar to this, except in your case it's the boost::mutex that isn't copyable. If you want to keep the mutex, you can follow the same solution as in that link, to add "boost::noncopyable" argument (this shouldn't be problem since you generally don't need to create copy of CBNET in Python, just use as reference).

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #2 on: February 25, 2015, 10:35:09 am »
nvm. clear reading instead of picking the basic can help sometimes :-)

Thanks, working now.
« Last Edit: February 25, 2015, 10:38:35 am by Grief-Code »

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #3 on: February 25, 2015, 11:12:38 am »
Any ideas pointing this badass:

Code: [Select]
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
game.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
game.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<std::pair<std::string, CCallableBanCheck*>, std::allocator<std::pair<std::string, CCallableBanCheck*> > >, CGame>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<std::pair<std::string, CCallableBanCheck*>, std::allocator<std::pair<std::string, CCallableBanCheck*> > >&, CGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
game.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
game.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
game.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<CDBGamePlayer*, std::allocator<CDBGamePlayer*> >, CGame>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<CDBGamePlayer*, std::allocator<CDBGamePlayer*> >&, CGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
game.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
game.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
game.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<CDBBan*, std::allocator<CDBBan*> >, CGame>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<CDBBan*, std::allocator<CDBBan*> >&, CGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
game.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
game.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
game.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::converter::shared_ptr_from_python<CGameProtocol>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::converter::shared_ptr_from_python<CIncomingJoinPlayer>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
gameprotocol.o:/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: more undefined references to `_Py_NoneStruct' follow
gameprotocol.o: In function `boost::python::to_python_value<unsigned int&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<std::string&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<std::string&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
gameprotocol.o: In function `boost::python::to_python_value<unsigned int&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
gameprotocol.o: In function `pointer_arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::converter::pointer_arg_from_python<CGamePlayer*>::operator()() const':
/usr/include/boost/python/converter/arg_from_python.hpp:276: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `pointer_arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::converter::pointer_arg_from_python<std::string*>::operator()() const':
/usr/include/boost/python/converter/arg_from_python.hpp:276: undefined reference to `_Py_NoneStruct'
gameprotocol.o:/usr/include/boost/python/converter/arg_from_python.hpp:269: more undefined references to `_Py_NoneStruct' follow
gameprotocol.o: In function `boost::python::to_python_value<std::string const&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::objects::class_cref_wrapper<CGameProtocol, boost::python::objects::make_instance<CGameProtocol, boost::python::objects::value_holder<CGameProtocol> > >::convert(CGameProtocol const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::objects::class_cref_wrapper<CIncomingMapSize, boost::python::objects::make_instance<CIncomingMapSize, boost::python::objects::value_holder<CIncomingMapSize> > >::convert(CIncomingMapSize const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o:/usr/include/boost/python/object/make_instance.hpp:32: more undefined references to `_Py_NoneStruct' follow
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<unsigned char, std::allocator<unsigned char> >, CIncomingChatPlayer>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<unsigned char, std::allocator<unsigned char> >&, CIncomingChatPlayer&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<unsigned char, std::allocator<unsigned char> >, CIncomingJoinPlayer>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<unsigned char, std::allocator<unsigned char> >&, CIncomingJoinPlayer&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<unsigned char, std::allocator<unsigned char> >, CIncomingAction>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<unsigned char, std::allocator<unsigned char> >&, CIncomingAction&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
gameprotocol.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `execute<CIncomingMapSize>':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `execute<CIncomingChatPlayer>':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `execute<CIncomingJoinPlayer>':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::objects::class_cref_wrapper<CIncomingAction, boost::python::objects::make_instance<CIncomingAction, boost::python::objects::value_holder<CIncomingAction> > >::convert(CIncomingAction const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `boost::python::objects::class_cref_wrapper<CIncomingJoinPlayer, boost::python::objects::make_instance<CIncomingJoinPlayer, boost::python::objects::value_holder<CIncomingJoinPlayer> > >::convert(CIncomingJoinPlayer const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameprotocol.o:/usr/include/boost/python/object/make_instance.hpp:32: more undefined references to `_Py_NoneStruct' follow
gameslot.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameslot.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
gameslot.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameslot.o: In function `boost::python::detail::caller_arity<2u>::impl<void (CGameSlot::*)(unsigned char), boost::python::default_call_policies, boost::mpl::vector3<void, CGameSlot&, unsigned char> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
gameslot.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gameslot.o: In function `boost::python::objects::class_cref_wrapper<CGameSlot, boost::python::objects::make_instance<CGameSlot, boost::python::objects::value_holder<CGameSlot> > >::convert(CGameSlot const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gameslot.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
gameslot.o:/usr/include/boost/python/object_core.hpp:513: more undefined references to `_Py_NoneStruct' follow
gpsprotocol.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
gpsprotocol.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
gpsprotocol.o: In function `boost::python::objects::class_cref_wrapper<CGPSProtocol, boost::python::objects::make_instance<CGPSProtocol, boost::python::objects::value_holder<CGPSProtocol> > >::convert(CGPSProtocol const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
gpsprotocol.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
gpsprotocol.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
language.o: In function `boost::python::converter::shared_ptr_from_python<CLanguage>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
language.o:/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: more undefined references to `_Py_NoneStruct' follow
language.o: In function `boost::python::to_python_value<std::string const&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
language.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
language.o: In function `boost::python::objects::class_cref_wrapper<CLanguage, boost::python::objects::make_instance<CLanguage, boost::python::objects::value_holder<CLanguage> > >::convert(CLanguage const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
language.o: In function `boost::python::to_python_value<std::string const&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
language.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
language.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::converter::shared_ptr_from_python<CMap>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::to_python_value<unsigned int&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
map.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
map.o: In function `boost::python::to_python_value<std::string&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
map.o: In function `boost::python::to_python_value<bool&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
map.o: In function `boost::python::detail::caller_arity<1u>::impl<void (CMap::*)(), boost::python::default_call_policies, boost::mpl::vector2<void, CMap&> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
map.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
map.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
map.o: In function `boost::python::to_python_value<std::string const&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
map.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
map.o: In function `pointer_arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::converter::pointer_arg_from_python<unsigned char*>::operator()() const':
/usr/include/boost/python/converter/arg_from_python.hpp:276: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
map.o: In function `arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
map.o: In function `pointer_arg_from_python':
/usr/include/boost/python/converter/arg_from_python.hpp:269: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::converter::pointer_arg_from_python<CConfig*>::operator()() const':
/usr/include/boost/python/converter/arg_from_python.hpp:276: undefined reference to `_Py_NoneStruct'
map.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::detail::caller_arity<3u>::impl<void (CMap::*)(CConfig*, std::string), boost::python::default_call_policies, boost::mpl::vector4<void, CMap&, CConfig*, std::string> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
map.o:/usr/include/boost/python/converter/arg_from_python.hpp:269: more undefined references to `_Py_NoneStruct' follow
map.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
map.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<unsigned char, std::allocator<unsigned char> >, CMap>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<unsigned char, std::allocator<unsigned char> >&, CMap&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
map.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
map.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `execute<std::basic_string<char> >':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
map.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
map.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `boost::python::objects::class_cref_wrapper<CMap, boost::python::objects::make_instance<CMap, boost::python::objects::value_holder<CMap> > >::convert(CMap const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
map.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
map.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
packed.o: In function `boost::python::converter::shared_ptr_from_python<CPacked>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
packed.o:/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: more undefined references to `_Py_NoneStruct' follow
packed.o: In function `boost::python::to_python_value<unsigned short&>::operator()(unsigned short const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:121: undefined reference to `PyInt_FromLong'
packed.o: In function `boost::python::to_python_value<unsigned int&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
packed.o: In function `boost::python::to_python_value<std::string&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
packed.o: In function `boost::python::to_python_value<bool&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
packed.o: In function `boost::python::to_python_value<unsigned short const&>::operator()(unsigned short const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:121: undefined reference to `PyInt_FromLong'
packed.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
packed.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
packed.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
packed.o: In function `boost::python::detail::caller_arity<2u>::impl<void (CPacked::*)(unsigned short), boost::python::default_call_policies, boost::mpl::vector3<void, CPacked&, unsigned short> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
packed.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
packed.o: In function `boost::python::detail::caller_arity<2u>::impl<void (CPacked::*)(unsigned int), boost::python::default_call_policies, boost::mpl::vector3<void, CPacked&, unsigned int> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
packed.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
packed.o:/usr/include/boost/python/detail/caller.hpp:225: more undefined references to `_Py_NoneStruct' follow
packed.o: In function `boost::python::to_python_value<bool const&>::operator()(bool const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
/usr/include/boost/python/converter/builtin_converters.hpp:113: undefined reference to `PyBool_FromLong'
packed.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
packed.o: In function `boost::python::objects::class_cref_wrapper<CPacked, boost::python::objects::make_instance<CPacked, boost::python::objects::value_holder<CPacked> > >::convert(CPacked const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
packed.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
packed.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::converter::shared_ptr_from_python<CSaveGame>::convertible(_object*)':
/usr/include/boost/python/converter/shared_ptr_from_python.hpp:35: undefined reference to `_Py_NoneStruct'
savegame.o:/usr/include/boost/python/converter/shared_ptr_from_python.hpp:39: more undefined references to `_Py_NoneStruct' follow
savegame.o: In function `boost::python::to_python_value<unsigned int&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
savegame.o: In function `boost::python::to_python_value<unsigned char&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
savegame.o: In function `boost::python::to_python_value<std::string&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
savegame.o: In function `boost::python::detail::caller_arity<1u>::impl<void (CSaveGame::*)(), boost::python::default_call_policies, boost::mpl::vector2<void, CSaveGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
savegame.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::to_python_value<unsigned int const&>::operator()(unsigned int const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:122: undefined reference to `PyInt_FromLong'
savegame.o: In function `boost::python::to_python_value<unsigned char const&>::operator()(unsigned char const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:119: undefined reference to `PyInt_FromLong'
savegame.o: In function `boost::python::to_python_value<std::string const&>::operator()(std::string const&) const':
/usr/include/boost/python/converter/builtin_converters.hpp:162: undefined reference to `PyString_FromStringAndSize'
savegame.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::detail::caller_arity<2u>::impl<void (CSaveGame::*)(std::string), boost::python::default_call_policies, boost::mpl::vector3<void, CSaveGame&, std::string> >::operator()(_object*, _object*)':
/usr/include/boost/python/detail/caller.hpp:225: undefined reference to `_Py_NoneStruct'
savegame.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<unsigned char, std::allocator<unsigned char> >, CSaveGame>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<unsigned char, std::allocator<unsigned char> >&, CSaveGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
savegame.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
savegame.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::detail::caller_arity<1u>::impl<boost::python::detail::member<std::vector<CGameSlot, std::allocator<CGameSlot> >, CSaveGame>, boost::python::return_internal_reference<1ul, boost::python::default_call_policies>, boost::mpl::vector2<std::vector<CGameSlot, std::allocator<CGameSlot> >&, CSaveGame&> >::operator()(_object*, _object*)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
savegame.o: In function `postcall<_object*>':
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyExc_IndexError'
/usr/include/boost/python/with_custodian_and_ward.hpp:97: undefined reference to `PyErr_SetString'
savegame.o: In function `none':
/usr/include/boost/python/detail/none.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `boost::python::objects::class_cref_wrapper<CSaveGame, boost::python::objects::make_instance<CSaveGame, boost::python::objects::value_holder<CSaveGame> > >::convert(CSaveGame const&)':
/usr/include/boost/python/object/make_instance.hpp:32: undefined reference to `_Py_NoneStruct'
savegame.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
savegame.o: In function `object_base':
/usr/include/boost/python/object_core.hpp:513: undefined reference to `_Py_NoneStruct'
stats.o: In function `incref<_object>':
/usr/include/boost/python/refcount.hpp:16: undefined reference to `_Py_NoneStruct'
stats.o:/usr/include/boost/python/object_core.hpp:513: more undefined references to `_Py_NoneStruct' follow
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PySequence_GetSlice'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_ValueError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyString_Size'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_GetAttr'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_GetItemString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_And'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyUnicodeUCS4_FromEncodedObject'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyEval_GetGlobals'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `_PyEval_SliceIndex'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyTuple_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceSubtract'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_GetAttrString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyFile_FromString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyModule_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyMem_Free'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyType_IsSubtype'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyStaticMethod_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_WarnEx'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyTuple_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_SetAttr'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_NoMemory'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_AttributeError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Add'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_Append'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyType_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_ReferenceError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyArg_ParseTupleAndKeywords'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyStaticMethod_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceMultiply'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyTuple_Size'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_SetObject'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `_PyObject_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Keys'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyType_GenericAlloc'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_Format'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_CallFunction'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_Reverse'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyString_FromString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PySequence_DelSlice'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyCFunction_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_OverflowError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyMem_Malloc'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_ExceptionMatches'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyComplex_ImagAsDouble'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyCFunction_NewEx'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyImport_ImportModule'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyUnicodeUCS4_AsWideChar'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyProperty_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceOr'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyUnicode_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_DelItem'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_Clear'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `Py_InitModule4_64'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyRun_StringFlags'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_GetItem'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyWeakref_NewRef'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Multiply'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Lshift'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Update'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PySlice_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyString_FromFormat'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyRun_FileExFlags'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_SetItem'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Divide'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_SetAttrString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyLong_AsUnsignedLongLong'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_RuntimeError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Xor'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PySequence_SetSlice'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceDivide'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyInt_AsLong'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `_Py_NotImplementedStruct'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Rshift'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyBaseObject_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_StopIteration'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_GetItem'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Values'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyType_Ready'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_Size'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyMethod_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyMethod_New'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_ClearWeakRefs'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyLong_AsLongLong'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Remainder'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_NewException'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_CallMethod'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Or'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_Sort'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyLong_AsUnsignedLong'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceRemainder'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyString_InternFromString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyErr_Occurred'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Copy'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyLong_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceAnd'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceXor'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `_PyType_Lookup'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Size'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceRshift'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyIter_Next'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyCallable_Check'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyClass_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyComplex_RealAsDouble'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyLong_FromUnsignedLong'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyExc_ImportError'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyList_Insert'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyString_AsString'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyObject_RichCompare'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Items'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyImport_Import'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyTuple_GetItem'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_Subtract'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyFile_AsFile'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyComplex_Type'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyDict_Clear'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceLshift'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python-py27.so: undefined reference to `PyNumber_InPlaceAdd'
collect2: error: ld returned 1 exit status
make: *** [ghost++] Error 1

Just changed my Makefile to:
Code: [Select]
LFLAGS = -L. -L./bncsutil/src/bncsutil/ -L./StormLib/stormlib/  -lbncsutil -lpthread -ldl -lz -lgmp -lStorm -lmysqlclient_r -lboost_date_time -lboost_thread -lboost_system -lboost_filesystem -lboost_python-py27
« Last Edit: February 25, 2015, 11:57:34 am by Grief-Code »

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #4 on: February 25, 2015, 04:01:37 pm »
Probably you need -lpython, you might need -I/path/to/python/include too, not sure.

Edit: maybe -lpython2.7

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #5 on: February 26, 2015, 01:41:12 am »
Addeing -lpython2.7 solved it.

Thanks.

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #6 on: February 26, 2015, 02:13:35 am »
Well one step further at least, when starting the bot, i got this error now:

Code: [Select]
ImportError: No module named plugins.python
terminate called after throwing an instance of 'boost::python::error_already_set'
Aborted

Lines of code:
Code: [Select]
try
{
boost::python::object module = boost::python::import("plugins.python");
}
catch(...)
{
PyErr_Print( );
throw;
}

folder is available there probably.

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #7 on: February 26, 2015, 08:08:02 am »
Same issue here -- https://code.google.com/p/pychop/source/detail?r=88

(or you can run export PYTHONPATH="." in terminal before executing your program)

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #8 on: February 26, 2015, 12:16:08 pm »
Okay that worked, thx again.

However, i got a crash now, but i have no idea why:

Code: [Select]
*** Error in `/bots/21/ghost++': double free or corruption (fasttop): 0x00007fffdc0077c0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffef9d2700 (LWP 29562)]
0x00007ffff522fbb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) backtrace
#0  0x00007ffff522fbb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff5232fc8 in __GI_abort () at abort.c:89
#2  0x00007ffff526ce14 in __libc_message (do_abort=do_abort@entry=1,
    fmt=fmt@entry=0x7ffff537b5a8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff52790ee in malloc_printerr (ptr=<optimized out>,
    str=0x7ffff537b770 "double free or corruption (fasttop)", action=1) at malloc.c:4996
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5  0x00000000004e142e in CBaseGame::SendAllActions (this=0xb909f0) at game_base.cpp:2258
#6  0x00000000004e7466 in CBaseGame::Update (this=this@entry=0xb909f0, fd=fd@entry=0x7fffef9d1d50,
    send_fd=send_fd@entry=0x7fffef9d1dd0) at game_base.cpp:1674
#7  0x000000000047b4cf in CGame::Update (this=0xb909f0, fd=0x7fffef9d1d50, send_fd=0x7fffef9d1dd0) at game.cpp:972
#8  0x00000000004bdfd4 in CBaseGame::loop (this=0xb909f0) at game_base.cpp:328
#9  0x00007ffff6bc0a4a in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0
#10 0x00007ffff79b6182 in start_thread (arg=0x7fffef9d2700) at pthread_create.c:312
#11 0x00007ffff52f3efd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)

Its directly when all players loaded.
Its the latest OHSystem version, before i added the plugin patch i hadnt that issue.

Any idea?

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #9 on: February 26, 2015, 02:08:57 pm »
It doesn't seem to be related. I remember having similar issue before, maybe caused by synchronization issue. gdb doesn't seem to be giving enough information to see where problem is (all it shows is there's corrupted, possibly already freed, pointer element in m_Actions that's causing crash when SendAllActions attempts to delete it), try running it in valgrind with these options:
Code: [Select]
valgrind --tool=memcheck ./ghost++ 2> valgrind.logAnd then post valgrind.log (check the part in log where it is listing memory accesses that seem sketchy, it will attempt to trace such memory accesses back, so for example see where the element was added to the vector that then could not be freed).

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #10 on: February 26, 2015, 03:38:08 pm »
I feel like im not getting more information with that also:

Code: [Select]
==7555== Invalid read of size 1
==7555==    at 0x4DC884: CBaseGame::EventPlayerDeleted(CGamePlayer*, bool) (game_base.cpp:2570)
==7555==    by 0x485F97: CGame::EventPlayerDeleted(CGamePlayer*, bool) (game.cpp:986)
==7555==    by 0x4E2578: CBaseGame::Update(void*, void*) (game_base.cpp:850)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==  Address 0x968e6bb is 363 bytes inside a block of size 537 free'd
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x62788F: UTIL_ToString(unsigned int) (basic_string.h:539)
==7555==    by 0x57037F: MySQLgs(void*, std::string*, unsigned int, unsigned int, std::string, unsigned int, unsigned int, unsigned int) (ghostdbmysql.cpp:1486)
==7555==    by 0x570A8C: CMySQLCallablegs::operator()() (ghostdbmysql.cpp:3020)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==
==7555== Invalid read of size 8
==7555==    at 0x5210B4: CIncomingAction::~CIncomingAction() (stl_vector.h:161)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==  Address 0xab32250 is 32 bytes inside a block of size 56 free'd
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x4E142D: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==
==7555== Invalid free() / delete / delete[] / realloc()
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x5210C1: CIncomingAction::~CIncomingAction() (new_allocator.h:110)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==  Address 0xab32300 is 0 bytes inside a block of size 13 free'd
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x5210C1: CIncomingAction::~CIncomingAction() (new_allocator.h:110)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==
==7555== Invalid read of size 8
==7555==    at 0x5210C2: CIncomingAction::~CIncomingAction() (stl_vector.h:161)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==  Address 0xab32238 is 8 bytes inside a block of size 56 free'd
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x4E142D: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==
==7555== Invalid free() / delete / delete[] / realloc()
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)
==7555==  Address 0xab322b0 is 0 bytes inside a block of size 4 free'd
==7555==    at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7555==    by 0x4E1425: CBaseGame::SendAllActions() (game_base.cpp:2258)
==7555==    by 0x4E7465: CBaseGame::Update(void*, void*) (game_base.cpp:1674)
==7555==    by 0x47B4CE: CGame::Update(void*, void*) (game.cpp:972)
==7555==    by 0x4BDFD3: CBaseGame::loop() (game_base.cpp:328)
==7555==    by 0x5E51A49: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0)
==7555==    by 0x504D181: start_thread (pthread_create.c:312)
==7555==    by 0x774CEFC: clone (clone.S:111)


Im actually not understanding it that good, i mean i see the reason and this is understandable, but i have no idea whats the reason for that suddenly.

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #11 on: February 26, 2015, 05:03:43 pm »
Code: [Select]
        if( m_Slots[GetSIDFromPID( player->GetPID() )].GetTeam() == 12 )
        {
            m_ObservingPlayers -= 1;
            CloseSlot( 11, true );
          m_AutoStartPlayers = m_AutoStartPlayers-1;
            SendAllChat( m_GHost->m_Language->UserWillNoLongerObserveGame( player->GetName( ) ) );
            SendAllChat( m_GHost->m_Language->AutoStartEnabled( UTIL_ToString( m_AutoStartPlayers ) ) );
        }
You're not checking the value of GetSIDFromPID (which may return 255).

This is based on the first invalid read message. It may be related to the one about the action crash, may not be, but first fix that I think.

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #12 on: February 26, 2015, 05:09:56 pm »
Ok, seriously what is this? lol
Code: [Select]
    CBaseGame :: EventPlayerAction( player, action, false );

    bool success = CBaseGame :: EventPlayerAction( player, action );
(in game.cpp; it sounds like you are pushing action twice, then it gets added to the vector twice and it tries to delete same object twice; pointers are annoying huh? :P)

Edit: and as far as I can tell, the optional third argument isTwice isn't even used in the function.

Grief-Code

  • Average Member
  • ***
  • Posts: 149
  • Karma: +25/-8
    • View Profile
Re: Problem adding plugin system.
« Reply #13 on: February 27, 2015, 12:12:44 am »
IsTwice was used for the event binding with the plugin system. I didn't applied the whole patch. I first wanted to have a base and then add event bindings.

Well ur right, will change that getsidfrompid function ;-)

Haha, first time I see a uakfb who has issues with pointing the reason :-)
Pointers are as annoying as good they are on the other way :-) However, if I would have too much time I would rewrite it into RAII, to avoid leaks, but meh...

Well will add some debug prints to check it more in details ;-)

uakf.b

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
  • Karma: +86/-12
    • View Profile
Re: Problem adding plugin system.
« Reply #14 on: February 27, 2015, 09:04:28 am »
Haha, first time I see a uakfb who has issues with pointing the reason :-)
Pointers are as annoying as good they are on the other way :-) However, if I would have too much time I would rewrite it into RAII, to avoid leaks, but meh...
What do you mean? The GetSIDFromPID is one problem, but calling EventPlayerAction twice is what's really causing the crash, since the action pointer gets pushed to m_Actions twice, and later gets deleted twice; the second delete fails because the memory was already freed.