[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
https://bitbucket.org/pypy/pypy/issues/2622/building-boost-164

David Callahan:

Building boost 1.64 with PyPy yields the following error messages:



```
#!text

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: 


```
#!text

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