diff -up src/sage/libs/polybori/decl.pxd.orig src/sage/libs/polybori/decl.pxd --- src/sage/libs/polybori/decl.pxd.orig 2017-03-04 13:33:54.155492361 -0500 +++ src/sage/libs/polybori/decl.pxd 2017-03-04 13:34:09.926492965 -0500 @@ -291,10 +291,10 @@ cdef extern from "sage/libs/polybori/pb_ int (* size)() PBPolyEntry (* get "operator[]")(int) - ctypedef struct PBFglmStrategy "PBWrappedPtr": + ctypedef struct PBFglmStrategy "WrappedPointer": PBPolyVector (* main "operator->()->main")() - PBFglmStrategy PBFglmStrategy_Constructor "PBWrappedPtr" \ + PBFglmStrategy PBFglmStrategy_Constructor "WrappedPointer" \ (PBRing from_ring, PBRing to_ring, PBPolyVector vec) cdef cppclass PBGBStrategy "GroebnerStrategy": diff -up src/sage/libs/polybori/pb_wrap.h.orig src/sage/libs/polybori/pb_wrap.h --- src/sage/libs/polybori/pb_wrap.h.orig 2017-03-04 13:34:07.773492882 -0500 +++ src/sage/libs/polybori/pb_wrap.h 2017-03-04 13:34:09.928492965 -0500 @@ -177,23 +177,23 @@ PyObject* preallocated_to_PyString(const template -class PBWrappedPtr: +class WrappedPointer: public boost::shared_ptr { - typedef PBWrappedPtr self; + typedef WrappedPointer self; typedef boost::shared_ptr base; public: - PBWrappedPtr(): base() {} - PBWrappedPtr(const self& rhs): base(rhs) {} + WrappedPointer(): base() {} + WrappedPointer(const self& rhs): base(rhs) {} template - PBWrappedPtr(const T1& arg): base(new Type(arg)) {} + WrappedPointer(const T1& arg): base(new Type(arg)) {} template - PBWrappedPtr(const T1& arg1, const T2& arg2): base(new Type(arg1, arg2)) {} + WrappedPointer(const T1& arg1, const T2& arg2): base(new Type(arg1, arg2)) {} template - PBWrappedPtr(const T1& arg1, const T2& arg2, const T3& arg3): + WrappedPointer(const T1& arg1, const T2& arg2, const T3& arg3): base(new Type(arg1, arg2, arg3)) {} operator Type&() { return base::operator*();}