$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: rwgk_at_[hidden]
Date: 2000-11-03 16:52:07
Revision 1.3 of pyptr.h works a lot better!
When compiling py_cpp with boost 1.18.1 there are no errors and no
warnings and both test_*.py check out fine.
However, there is a problem with gen_extclass.py.
See below for details and the fix.
Thanks!
Ralf
gen_extclass.py appears not to be up-to-date.
Here is the diff which works for me:
437d436
< add_base(Ptr(as_object(base), Ptr::new_ref));
438a438,442
> Class<ExtensionInstance>* target = (bases().size() == 0)
> ? this
> : Downcast<Class<ExtensionInstance> >(bases()[0].get
()).get();
> target->add_base(Ptr(as_object(base), Ptr::new_ref));
>
453c457,461
< add_base(Ptr(as_object(base), Ptr::new_ref));
---
>
> Class<ExtensionInstance>* target = (bases().size() == 0)
> ? this
> : Downcast<Class<ExtensionInstance> >(bases()[0].get
()).get();
> target->add_base(Ptr(as_object(base), Ptr::new_ref));
--- In boost_at_[hidden], "David Abrahams" <abrahams_at_m...> wrote:
> It's a bug in my code which is not caught by MSVC or GCC (time for
me to
> start testing with Comeau). Actually, it was caught by Metrowerks,
but the
> error message was a little too cryptic for me to diagnose the
problem. Try
> grabbing pyptr.h from
> http://cvs.sourceforge.net/cgi-
bin/cvsweb.cgi/boost/development/py_cpp/pyptr
> .h?cvsroot=boost. I think that will solve your problems.
>
> -Dave
> ----- Original Message -----
> From: <rwgk_at_m...>
> To: <boost_at_[hidden]>
> Sent: Friday, November 03, 2000 1:36 PM
> Subject: [boost] py_cpp_20001102 Alpha woes
>
>
> > When trying to compile the latest py_cpp release
(py_cpp_20001102.zip)
> > on the Alpha I get the error message which is attached below. I
tried
> > using both boost 1.18.1 and the latest boost snapshot from the
> > sourceforge CVS tree. The error messages appear to be the same in
> > both cases.
> > Compilation and tests worked well with the previous py_cpp
release.
> > What could be wrong?
> > Thanks!
> > Ralf
> >
> >
> > cxx -I/usr/local/STLport-4.1b3/stlport -D__USE_STD_IOSTREAM -
> > D__STL_NO_SGI_IOSTREAMS -D__STL_NO_NEW_C_HEADERS -
> > D_RWSTD_COMPILE_INSTANTIATE=1 -I/net/boa/scratch1/rwgk/boost -
> > I/usr/local/include/python1.5 -I.. -std strict_ansi -msg_disable
> > 186,450,1115 -c extclass.cpp
> > cxx: Error: pyptr.h, line 81: a value of type "PyObject *" cannot
be
> > used to
> > initialize an entity of type "py::Function *"
> > detected during:
> > instantiation of "py::PyPtr<T>::PyPtr(T2 *,
> > py::PyPtr<T>::NewRef)
> > [with T=py::Function, T2=PyObject]" at line
31
> > instantiation of class "py::PyPtrConversions<T, Base>
> > [with
> > T=py::PyPtr<py::Function>,
> >
> > Base=boost::dereferenceable<py::PyPtr<py::Function>,
> > py::Function *,
boost::detail::empty_base>]" at
> > line 42
> > of "functions.h"
> > : m_p(expect_non_null(x)) { Py_INCREF(object()); }
> > --------------^
> >
> >
> >
> >
> >