Skip to content
Advertisement

Using typed dictionaries in ahead of time compilation in numba

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:

https://github.com/numba/numba/pull/6410

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement