After this changeset ...
changeset: 2764:885dbfad02aa
user: Stefan Behnel <[email protected]>
date: Tue Dec 08 01:05:01 2009 +0100
summary: translate Python float calculations into C doubles
I cannot Cythonize mpi4py (note: I've not enabled type inference). The
failure happens in many methods like this one:
cdef class Datatype:
...
def Dup(self):
"""
Duplicate a datatype
"""
cdef Datatype datatype = <Datatype>type(self)()
.....
return datatype
Traceback below:
python ./conf/cythonize.py
Traceback (most recent call last):
File "./conf/cythonize.py", line 77, in <module>
run('mpi4py.MPI.pyx', 'src')
File "./conf/cythonize.py", line 58, in run
output_h=os.path.join('include', package),
File "./conf/cythonize.py", line 22, in cythonize
result = compile(source, options)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Main.py",
line 737, in compile
return compile_single(source, options, full_module_name)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Main.py",
line 682, in compile_single
return run_pipeline(source, options, full_module_name)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Main.py",
line 570, in run_pipeline
err, enddata = context.run_pipeline(pipeline, source)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Main.py",
line 221, in run_pipeline
data = phase(data)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 265, in __call__
return super(CythonTransform, self).__call__(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 248, in __call__
return self.visit(root)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File
"/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/ParseTreeTransforms.py",
line 799, in visit_ModuleNode
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 199, in visitchildren
childretval = self.visitchild(child, parent, attr, None)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 275, in visit_Node
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 197, in visitchildren
childretval = [self.visitchild(x, parent, attr, idx) for idx, x in
enumerate(child)]
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 275, in visit_Node
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 197, in visitchildren
childretval = [self.visitchild(x, parent, attr, idx) for idx, x in
enumerate(child)]
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 275, in visit_Node
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 197, in visitchildren
childretval = [self.visitchild(x, parent, attr, idx) for idx, x in
enumerate(child)]
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 275, in visit_Node
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 199, in visitchildren
childretval = self.visitchild(child, parent, attr, None)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 275, in visit_Node
self.visitchildren(node)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 227, in visitchildren
result = TreeVisitor.visitchildren(self, parent, attrs)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 197, in visitchildren
childretval = [self.visitchild(x, parent, attr, idx) for idx, x in
enumerate(child)]
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 150, in visitchild
result = self.visit(child)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Visitor.py",
line 46, in visit
return handler_method(obj)
File
"/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/ParseTreeTransforms.py",
line 804, in visit_FuncDefNode
node.body.analyse_expressions(node.local_scope)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Nodes.py",
line 336, in analyse_expressions
stat.analyse_expressions(env)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Nodes.py",
line 2936, in analyse_expressions
self.analyse_types(env)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/Nodes.py",
line 3027, in analyse_types
self.rhs.analyse_types(env)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/ExprNodes.py",
line 4271, in analyse_types
self.operand.analyse_types(env)
File "/u/dalcinl/Devel/Cython/cython-devel/Cython/Compiler/ExprNodes.py",
line 2452, in analyse_types
if func_type is Builtin.type_type and function.entry.is_builtin and \
AttributeError: 'SimpleCallNode' object has no attribute 'entry'
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev