I’m trying to use ahead of time compilation in numba on a function that takes a numba typed dictionary as its input. The file compiles without errors, but when I load the resulting module I get an error:
dlopen(/path_to_module, 2): Symbol not found: __numba_hashsecret_djbx33a_suffix Referenced from: /path_to_module Expected in: flat namespace in /path_to_module
An example function that produces the same error is:
@jit(nopython=True) @cc.export('my_func', 'f8(DictType(unicode_type, f8))') def my_func(d): return d['a'] + d['b']
This function will be called by another function in the compiled code.
Advertisement
Answer
This turns out to be a bug in Numba, the fix for which was just merged into master a couple weeks ago: