Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boost_python3 libraries not built correctly #33

Closed
lbotsch opened this issue May 5, 2017 · 3 comments
Closed

boost_python3 libraries not built correctly #33

lbotsch opened this issue May 5, 2017 · 3 comments
Labels

Comments

@lbotsch
Copy link

lbotsch commented May 5, 2017

The boost_python3 library uploaded to nuget.org (https://www.nuget.org/packages/boost_python3-vc140/) seems to be compiled against the wrong python version. The libraries

  • boost_python3-vc140-mt-1_64.lib
  • boost_python3-vc140-mt-gd-1_64.lib

export the symbol

struct _object * __cdecl boost::python::detail::init_module(char const *,void (__cdecl*)(void))

when they should export

struct _object * __cdecl boost::python::detail::init_module(struct PyModuleDef &,void (__cdecl*)(void))

See boost/python/module_init.hpp:

#  if PY_VERSION_HEX >= 0x03000000
BOOST_PYTHON_DECL PyObject* init_module(PyModuleDef&, void(*)());
#else
BOOST_PYTHON_DECL PyObject* init_module(char const* name, void(*)());
#endif

Make sure you actually compile boost_python3 for python3

@sergey-shandar
Copy link
Owner

@sergey-shandar
Copy link
Owner

Binaries for 1.64 were taken from https://sourceforge.net/projects/boost/files/boost-binaries/1.64.0/

@sergey-shandar
Copy link
Owner

Switch to 1.65 should solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants