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

Reply via email to