Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2004-09-26 23:02:11


--- David Abrahams <dave_at_[hidden]> wrote:

> Stefan Slapeta <stefan_nospam__at_[hidden]> writes:
>
> > Running __main__.__doc__
> > Trying: from const_argument_ext import *
> > Expecting: nothing
> > ok
> > Trying: accept_const_arg_noproto(1)
> > Expecting: 1
> > *****************************************************************
> > Failure in example: accept_const_arg_noproto(1)
> > from line #2 of __main__
> > Exception raised:
> > Traceback (most recent call last):
> > File "c:\python23\lib\doctest.py", line 442, in _run_examples_inner
> > compileflags, 1) in globs
> > File "<string>", line 1, in ?
> > ArgumentError: Python argument types in
> > const_argument_ext.accept_const_arg_noproto(int)
> > did not match C++ signature:
> > accept_const_arg_noproto(class boost::python::api::object)
>
> This is just freaky. A Python int can't be converted to a
> boost::python::object??

Maybe there is something funny going on with boost::python::type_info?
You could edit the file
    
    boost/libs/python/src/converter/registry.cpp

to

#define BOOST_PYTHON_TRACE_REGISTRY

before it is used the first time. Recompile (quick, just one .cpp file) and run
the test that fails again. Post the registry trace to this group.
(See also: boost/python/type_id.hpp)

A while ago I had terrible trouble with a static initialization bug under Mac
OS X (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14232). The effect was very
similar to your problem. However, it involved two dlopen where you seem to only
need one to reproduce the failure...

HTH,
        Ralf

                
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk