On 01/02/11 23:19, Johan Hake wrote: > On Tuesday February 1 2011 15:14:21 Anders Logg wrote: >> On Tue, Feb 01, 2011 at 03:12:05PM -0800, Johan Hake wrote: >>> On Tuesday February 1 2011 14:53:55 Anders Logg wrote: >>>> Something seems to go wrong with the Hierarchical Python wrappers. >>>> >>>> C++ program: >>>> UnitSquare mesh(3, 3); >>>> mesh._debug(); >>>> >>>> Output: >>>> >>>> Debugging hierarchical object. >>>> >>>> has_parent() = 0 >>>> _parent.get() = 0 >>>> _parent.count() = 0 >>>> has_child() = 0 >>>> _child.get() = 0 >>>> _child.count() = 0 >>>> >>>> Debugging hierarchical object. >>>> >>>> has_parent() = 0 >>>> _parent.get() = 0 >>>> _parent.count() = 0 >>>> has_child() = 0 >>>> _child.get() = 0 >>>> _child.count() = 0 >>>> >>>> Python program: >>>> mesh = UnitSquare(3, 3) >>>> mesh._debug() >>>> >>>> Debugging hierarchical object. >>>> >>>> has_parent() = 0 >>>> _parent.get() = 0 >>>> _parent.count() = 0 >>>> has_child() = 0 >>>> _child.get() = 0 >>>> _child.count() = 0 >>>> >>>> Debugging hierarchical object. >>>> >>>> has_parent() = 1 >>>> _parent.get() = cbd47290 >>>> _parent.count() = -878438560 >>>> has_child() = 1 >>>> _child.get() = cbd47290 >>>> _child.count() = -878438560 >>>> >>>> The first call to Hierarchical::_debug is made from the constructor of >>>> Hierarchical and is correct in both C++ and Python, but then the >>>> Python object seems to lose contact with the reality. >>> >>> Yes quite so... >>> >>> I changed locally to swig 2.0 and the problem went away. shared_ptr >>> support has been rewritten in 2.0. I might be able to hack the interface >>> of Hierarchical in a similar manner as I did for Variables. Just >>> implementing the interface again in the C++ layer. >>> >>> But I am not sure. The shared_ptr part of the SWIG interface starts to be >>> quite complex now with supporting SWIG version 1.3.37 to 1.3.40 and 2.0 >>> >>> Maybe we should force SWIG 2.0? >> >> Is that possible? It's not in Ubuntu yet, or is it? >
It's in 11.04 Swig is super easy to install. Garth > No, then we probably need to keep the mess... > > Johan > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

