Skip to content

Instantly share code, notes, and snippets.

@hainm
Created October 17, 2016 20:19
Show Gist options
  • Save hainm/dd7ed723f2194a4402a11f85ac347fe7 to your computer and use it in GitHub Desktop.
Save hainm/dd7ed723f2194a4402a11f85ac347fe7 to your computer and use it in GitHub Desktop.
Error compiling Cython file:
------------------------------------------------------------
...
cdef BondArray bondarray, bondarray_h
cdef BondType btype = BondType()
bondarray = self.thisptr.Bonds()
bondarray_h = self.thisptr.BondsH()
bondarray.insert(bondarray.end(), bondarray_h.begin(), bondarray_h.end())
^
------------------------------------------------------------
pytraj/topology/topology.pyx:672:28: Compiler crash in AnalyseExpressionsTransform
ModuleNode.body = StatListNode(topology.pyx:2:0)
StatListNode.stats[24] = StatListNode(topology.pyx:79:5)
StatListNode.stats[0] = CClassDefNode(topology.pyx:79:5,
as_name = 'Topology',
class_name = 'Topology',
module_name = '',
visibility = 'private')
CClassDefNode.body = StatListNode(topology.pyx:80:4)
StatListNode.stats[51] = PropertyNode(topology.pyx:663:4,
name = 'bonds')
PropertyNode.body = StatListNode(topology.pyx:664:8)
StatListNode.stats[0] = GeneratorDefNode(topology.pyx:664:8,
doc = 'return bond iterator',
is_generator = True,
modifiers = [...]/0,
name = '__get__',
needs_closure = True,
num_required_args = 1,
py_wrapper_required = True,
reqd_kw_flags_cname = '0',
used = True)
GeneratorDefNode.gbody = GeneratorBodyDefNode(topology.pyx:664:8,
is_generator_body = True,
modifiers = [...]/0,
name = '__get__',
py_wrapper_required = True,
reqd_kw_flags_cname = '0')
File 'Nodes.py', line 430, in analyse_expressions: StatListNode(topology.pyx:665:12)
File 'Nodes.py', line 4741, in analyse_expressions: ExprStatNode(topology.pyx:672:28)
File 'ExprNodes.py', line 519, in analyse_expressions: SimpleCallNode(topology.pyx:672:28,
analysed = True,
use_managed_ref = True)
File 'ExprNodes.py', line 5122, in analyse_types: SimpleCallNode(topology.pyx:672:28,
analysed = True,
use_managed_ref = True)
File 'ExprNodes.py', line 5176, in analyse_c_function_call: SimpleCallNode(topology.pyx:672:28,
analysed = True,
use_managed_ref = True)
Compiler crash traceback from this point on:
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/ExprNodes.py", line 5176, in analyse_c_function_call
entry = PyrexTypes.best_match(args, alternatives, self.pos, env)
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 4083, in best_match
type = func_type.specialize(deductions),
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 2747, in specialize
[arg.specialize(values) for arg in self.args],
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 2747, in <listcomp>
[arg.specialize(values) for arg in self.args],
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 3051, in specialize
return CFuncTypeArg(self.name, self.type.specialize(values), self.pos, self.cname)
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 3479, in specialize
specialized.namespace = self.namespace.specialize(values)
File "/u2/home/haichit/anaconda3/lib/python3.5/site-packages/Cython/Compiler/PyrexTypes.py", line 3489, in specialize
T = values[self.templates[0]]
KeyError: <Cython.Compiler.PyrexTypes.CppClassType object at 0x7feb11d7e8d0>
@hainm
Copy link
Author

hainm commented Oct 17, 2016

Reproduce error

git clone https://github.com/Amber-MD/pytraj
cd pytraj
cython pytraj/topology/topology.pyx --cplus

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment