Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: Uncaught TypeError: LoadLibraryExW failed #16642

Open
rishavs opened this issue Nov 15, 2022 · 4 comments
Open

error: Uncaught TypeError: LoadLibraryExW failed #16642

rishavs opened this issue Nov 15, 2022 · 4 comments
Labels
bug Something isn't working correctly node compat node native extension related to the node-api (.node)

Comments

@rishavs
Copy link

rishavs commented Nov 15, 2022

When I try to use the npm library https://github.com/ApsarasX/llvm-bindings in Deno, I faced 2 issues;

  1. The Deno bindings generator was unable to compile a binary .node file for the npm library
  2. when I copied the compiled binary from another npm project, I ended up with another error

At first the Deno bindings were unable to generate the .node bindings that this library is supposed to compile down to.

C:\Users\risharan\Documents\Dev\typescript\denollvm>deno run main.ts
✅ Granted env access to "NODE_BINDINGS_ARROW".
✅ Granted env access to "NODE_BINDINGS_COMPILED_DIR".
✅ Granted read access to "C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\package.json".
error: Uncaught Error: Could not locate the bindings file. Tried:
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\build\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\build\Debug\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\build\Release\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\out\Debug\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\Debug\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\out\Release\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\Release\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\build\default\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\compiled\16.17.0\win32\x64\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\addon-build\release\install-root\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\addon-build\debug\install-root\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\addon-build\default\install-root\llvm-bindings.node
 → C:\Users\risharan\AppData\Local\deno\npm\registry.npmjs.org\bindings\1.5.0\lib\binding\node-v93-win32-x64\llvm-bindings.node
    at bindings (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/bindings/1.5.0/bindings.js:126:9)
    at Object.<anonymous> (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/llvm-bindings/0.4.2/index.js:1:289)
    at Object.<anonymous> (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/llvm-bindings/0.4.2/index.js:3:4)
    at Module._compile (deno:ext/node/02_require.js:726:36)
    at Object.Module._extensions..js (deno:ext/node/02_require.js:759:12)
    at Module.load (deno:ext/node/02_require.js:643:34)
    at Function.Module._load (deno:ext/node/02_require.js:500:14)
    at Module.require (deno:ext/node/02_require.js:665:21)
    at require (deno:ext/node/02_require.js:799:18)
    at file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/llvm-bindings/0.4.2/index.js:2:13

Since I was using the same lib in a node+esbuild project, I just copied the .node file to the bindings/Release directory.
This fixed the issue about being unable to find the binary bindings.

When I tried to run the project again, I got this error.

C:\Users\risharan\Documents\Dev\typescript\denollvm>deno run --allow-all --unstable main.ts                                                                                                                 
error: Uncaught TypeError: LoadLibraryExW failed
    at Object.Module._extensions..node (deno:ext/node/02_require.js:786:26)
    at Module.load (deno:ext/node/02_require.js:643:34)
    at Function.Module._load (deno:ext/node/02_require.js:500:14)
    at Module.require (deno:ext/node/02_require.js:665:21)
    at require (deno:ext/node/02_require.js:799:18)
    at bindings (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/bindings/1.5.0/bindings.js:112:48)
    at Object.<anonymous> (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/llvm-bindings/0.4.2/index.js:1:289)
    at Object.<anonymous> (file:///C:/Users/risharan/AppData/Local/deno/npm/registry.npmjs.org/llvm-bindings/0.4.2/index.js:3:4)
    at Module._compile (deno:ext/node/02_require.js:726:36)
    at Object.Module._extensions..js (deno:ext/node/02_require.js:759:12)
@littledivy littledivy added bug Something isn't working correctly node native extension related to the node-api (.node) labels Nov 15, 2022
@bartlomieju
Copy link
Member

The Deno bindings generator was unable to compile a binary .node file for the npm library

This is most likely due to missing support for "postinstall" scripts (tracked in #16164)

when I copied the compiled binary from another npm project, I ended up with another error

I need to track this down, looks like a problem loading a native extension via dlopen.

@birkskyum
Copy link
Contributor

birkskyum commented Aug 31, 2023

Related to (i'm on macos)

@sigmaSd
Copy link
Contributor

sigmaSd commented Sep 24, 2024

Same issue for https://github.com/slint-ui/slint on windows

linux works

@ninjadev64
Copy link

ninjadev64 commented Jan 17, 2025

Any solutions? I'm getting this using the Tauri CLI. Deno on Linux and Node on Windows both work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working correctly node compat node native extension related to the node-api (.node)
Projects
None yet
Development

No branches or pull requests

6 participants