[pypy-issue] Issue #2622: building boost 1.64 (pypy/pypy)

David Callahan issues-reply at bitbucket.org
Thu Aug 3 17:40:52 EDT 2017

New issue 2622: building boost 1.64

David Callahan:

Building boost 1.64 with PyPy yields the following error messages:


libs/python/src/exec.cpp: In function ‘boost::python::api::object boost::python::exec_file(boost::python::str, boost::python::api::object, boost::python::api::object)’:
libs/python/src/exec.cpp:89:30: error: ‘_Py_fopen’ was not declared in this scope
   FILE *fs = _Py_fopen(f, "r");
libs/python/src/wrapper.cpp: In member function ‘boost::python::override boost::python::detail::wrapper_base::get\_override(const char*, PyTypeObject*) const’:
libs/python/src/wrapper.cpp:28:50: error: ‘struct PyMethodObject’ has no member named ‘im_self’
>                   && ((PyMethodObject*)m.get())->im_self == this->m_self
libs/python/src/wrapper.cpp:37:61: error: ‘struct PyMethodObject’ has no member named ‘im_func’
               if (borrowed_f != ((PyMethodObject*)m.get())->im_func)

In CPython 3.6.3  Py_fopen is declared in fileutils.h.  Boost guards this access with a test on Pyhton version >= 3.4.

Note, to build boost with PyPy, I  modified the project-config.jam file built by boostrap.sh  by changing the "using" line for python to be: 


using python
    : 3.5                   # Version
    : /home/dcallahan/projects/pypy/install/bin/pypy3      # Python Path
    : /home/dcallahan/projects/pypy/install/include        # include path
    : /home/dcallahan/projects/pypy/install/bin            # lib path(s)


More information about the pypy-issue mailing list