DPI-1047: Cannot locate a 64-bit Oracle Client library: libclntsh.so | AWS Lambda | Node Version 20 #1667
Replies: 2 comments 1 reply
-
May I ask how you configured everything to connect from a Lambda? Did you have to deal with a wallet or TLS? |
Beta Was this translation helpful? Give feedback.
-
I ran into this as well. It looks like glibc 2.27 stopped including libnsl by default. AL2 was using a version juuust before that change was made (2.26), but AL2023 uses glibc 2.34. There is a separate libnsl package available in the AL2023 repo, which is not installed by default. The node v18 and older Lambda runtimes are based on AL2. Starting with the node v20 runtime, it's instead based on AL2023. So I think the error message is misleading: it can find libclntsh.so just fine, but this depends on libnsl.so.1, which is no longer available from the OS. I spun up an EC2 with AL2023, installed the package, and then grabbed the libnsl.so.1 file. I included it in my Lambda with the rest of the instant client libs, and that got it working. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
I am using node-oracledb version 6.4.0 and when my NodeJS lambdas retrieve data from an on-premises Oracle database using the node-oracledb package, everything functions smoothly under Node V18 runtime. However, upon transitioning to Node Version 20, we encounter an error. "Cannot locate a 64-bit Oracle Client library: libclntsh.so".
Vs
Any suggestions on resolving the problem would be greatly appreciated.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions