Skip to content

Module Matching Error #9

@hhergeth

Description

@hhergeth

When running tsembind on a js import library generated with embind I am getting the error message "Cannot find module". I printed the key of the only item stored in the registries variable and got this:

[Object: null prototype] {
  memory: Memory [WebAssembly.Memory] {},
  __wasm_call_ctors: [Function: 62],
  free: [Function: 27395],
  malloc: [Function: 27394],
  __indirect_function_table: Table [WebAssembly.Table] {},
  __errno_location: [Function: 27225],
  __em_js____asyncjs__fetch_json_from_url: Global [WebAssembly.Global] {},
  fflush: [Function: 27257],
  saveSetjmp: [Function: 27410],
  __getTypeName: [Function: 27219],
  _embind_initialize_bindings: [Function: 27220],
  setThrew: [Function: 27409],
  emscripten_stack_init: [Function: 28884],
  emscripten_stack_set_limits: [Function: 28885],
  emscripten_stack_get_free: [Function: 28886],
  emscripten_stack_get_base: [Function: 28887],
  emscripten_stack_get_end: [Function: 28888],
  stackSave: [Function: 28881],
  stackRestore: [Function: 28882],
  stackAlloc: [Function: 28883],
  __cxa_is_pointer_type: [Function: 28857],
  __start_em_js: Global [WebAssembly.Global] {},
  __stop_em_js: Global [WebAssembly.Global] {},
  dynCall_ii: [Function: 28889],
  dynCall_dii: [Function: 28890],
  dynCall_vi: [Function: 28891],
  dynCall_iii: [Function: 28892],
  dynCall_viiiiid: [Function: 28893],
  dynCall_viiid: [Function: 28894],
  dynCall_iiiiid: [Function: 28895],
  dynCall_viiii: [Function: 28896],
  dynCall_viii: [Function: 28897],
  dynCall_vii: [Function: 28898],
  dynCall_viiiii: [Function: 28899],
  dynCall_di: [Function: 28900],
  dynCall_v: [Function: 28901],
  dynCall_diiii: [Function: 28902],
  dynCall_viiiiii: [Function: 28903],
  dynCall_iiii: [Function: 28904],
  dynCall_iiiiiii: [Function: 28905],
  dynCall_i: [Function: 28906],
  dynCall_viid: [Function: 28907],
  dynCall_viiiid: [Function: 28908],
  dynCall_iiid: [Function: 28909],
  dynCall_viiiidd: [Function: 28910],
  dynCall_iiiiiid: [Function: 28911],
  dynCall_iiiid: [Function: 28912],
  dynCall_iiiii: [Function: 28913],
  dynCall_iiiiiiii: [Function: 28914],
  dynCall_iiiiii: [Function: 28915],
  dynCall_iiiiidd: [Function: 28916],
  dynCall_diii: [Function: 28917],
  dynCall_vidi: [Function: 28918],
  dynCall_jiji: [Function: 28926],
  dynCall_iidiiii: [Function: 28920],
  dynCall_viijii: [Function: 28927],
  dynCall_iiiiiiiii: [Function: 28922],
  dynCall_iiiiij: [Function: 28928],
  dynCall_iiiiijj: [Function: 28929],
  dynCall_iiiiiijj: [Function: 28930],
  asyncify_start_unwind: [Function: 28933],
  asyncify_stop_unwind: [Function: 28934],
  asyncify_start_rewind: [Function: 28935],
  asyncify_stop_rewind: [Function: 28936],
  asyncify_get_state: [Function: 28937]
}

At the same time the module.asm lookup key is this:

{
  memory: Memory [WebAssembly.Memory] {},
  __wasm_call_ctors: [Function (anonymous)],
  free: [Function (anonymous)],
  malloc: [Function (anonymous)],
  __indirect_function_table: Table [WebAssembly.Table] {},
  __errno_location: [Function (anonymous)],
  __em_js____asyncjs__fetch_json_from_url: Global [WebAssembly.Global] {},
  fflush: [Function (anonymous)],
  saveSetjmp: [Function (anonymous)],
  __getTypeName: [Function (anonymous)],
  _embind_initialize_bindings: [Function (anonymous)],
  setThrew: [Function (anonymous)],
  emscripten_stack_init: [Function (anonymous)],
  emscripten_stack_set_limits: [Function (anonymous)],
  emscripten_stack_get_free: [Function (anonymous)],
  emscripten_stack_get_base: [Function (anonymous)],
  emscripten_stack_get_end: [Function (anonymous)],
  stackSave: [Function (anonymous)],
  stackRestore: [Function (anonymous)],
  stackAlloc: [Function (anonymous)],
  __cxa_is_pointer_type: [Function (anonymous)],
  __start_em_js: Global [WebAssembly.Global] {},
  __stop_em_js: Global [WebAssembly.Global] {},
  dynCall_ii: [Function (anonymous)],
  dynCall_dii: [Function (anonymous)],
  dynCall_vi: [Function (anonymous)],
  dynCall_iii: [Function (anonymous)],
  dynCall_viiiiid: [Function (anonymous)],
  dynCall_viiid: [Function (anonymous)],
  dynCall_iiiiid: [Function (anonymous)],
  dynCall_viiii: [Function (anonymous)],
  dynCall_viii: [Function (anonymous)],
  dynCall_vii: [Function (anonymous)],
  dynCall_viiiii: [Function (anonymous)],
  dynCall_di: [Function (anonymous)],
  dynCall_v: [Function (anonymous)],
  dynCall_diiii: [Function (anonymous)],
  dynCall_viiiiii: [Function (anonymous)],
  dynCall_iiii: [Function (anonymous)],
  dynCall_iiiiiii: [Function (anonymous)],
  dynCall_i: [Function (anonymous)],
  dynCall_viid: [Function (anonymous)],
  dynCall_viiiid: [Function (anonymous)],
  dynCall_iiid: [Function (anonymous)],
  dynCall_viiiidd: [Function (anonymous)],
  dynCall_iiiiiid: [Function (anonymous)],
  dynCall_iiiid: [Function (anonymous)],
  dynCall_iiiii: [Function (anonymous)],
  dynCall_iiiiiiii: [Function (anonymous)],
  dynCall_iiiiii: [Function (anonymous)],
  dynCall_iiiiidd: [Function (anonymous)],
  dynCall_diii: [Function (anonymous)],
  dynCall_vidi: [Function (anonymous)],
  dynCall_jiji: [Function (anonymous)],
  dynCall_iidiiii: [Function (anonymous)],
  dynCall_viijii: [Function (anonymous)],
  dynCall_iiiiiiiii: [Function (anonymous)],
  dynCall_iiiiij: [Function (anonymous)],
  dynCall_iiiiijj: [Function (anonymous)],
  dynCall_iiiiiijj: [Function (anonymous)],
  asyncify_start_unwind: [Function (anonymous)],
  asyncify_stop_unwind: [Function (anonymous)],
  asyncify_start_rewind: [Function (anonymous)],
  asyncify_stop_rewind: [Function (anonymous)],
  asyncify_get_state: [Function (anonymous)]
}

My emscripten is up to date:

emcc --version
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.23 (5ae63ce7dd955df449cb419bfe5afc51d1bd57f2)

Sadly my WebAssembly knowledge isn't sufficient to understand how to properly fix this problem. My temporary workaround was to simply use the one and only module stored in the registry, which then resulted in the expected ts bindings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions