SAP / node-rfc

Asynchronous, non-blocking SAP NW RFC SDK bindings for Node.js
Apache License 2.0
252 stars 73 forks source link

Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/src/app/node_modules/node-rfc/lib/binding/sapnwrfc.node) #289

Closed mindlogical closed 1 year ago

mindlogical commented 1 year ago

I am using ubuntu 20.04 and the SDK is Linux on X86_64 64 bit. But I am getting the above error. I tried to solve this issue with the solution you provided in https://github.com/SAP/node-rfc/issues/165, but it doesn't seem to solve it. Please suggest if there is any other way to solve it.

bsrdjan commented 1 year ago

can you share the node-rfc installation log and the output of strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC ?

Could it be more libstdc versions on your system and the older one takes the precedence: https://askubuntu.com/questions/1166292/version-glibcxx-3-4-26-not-found-even-though-libstdc-so-6-recent-enough

mindlogical commented 1 year ago

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBCXX_3.4.20 GLIBCXX_3.4.21 GLIBCXX_3.4.22 GLIBCXX_3.4.23 GLIBCXX_3.4.24 GLIBCXX_3.4.25 GLIBCXX_DEBUG_MESSAGE_LENGTH

command : find / -name "libstdc++.so.6*"

output: /usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

bsrdjan commented 1 year ago

and the installation log?

mindlogical commented 1 year ago

npm install

npm WARN config _auth, _authToken, username and _password must be scoped to a registry. see npm help npmrc for more information.

up to date in 3s

7 packages are looking for funding run npm fund for details npm notice npm notice New major version of npm available! 8.19.3 -> 9.6.7 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.7 npm notice Run npm install -g npm@9.6.7 to update!

bsrdjan commented 1 year ago

It looks like an older system, perhaps upgraded to Ubuntu 20 but not completely. You can try with new Ubuntu 20 installation, or update/upgrade the system, something like

sudo apt-get install libstdc++6
sudo apt-get update
sudo apt-get upgrade

In any case, the build from source installation is recommended on Linux platforms because node-rfc Linux binary does not fit for all Linux systems.

For build fron source you should first install CMake and run:

npm install --build-from-source node-rfc

More details here: https://cmake.org/install/ You can also refer to automated CMake installation in this docker container: https://github.com/SAP/fundamental-tools/blob/main/docker/common/nodejs.Dockerfile

mindlogical commented 1 year ago

Hi @bsrdjan , I managed to fix the issue thanks to your suggestion. But now on the server I am getting the following error: "message": { "name": "RfcLibError", "group": 4, "code": 1, "codeString": "RFC_COMMUNICATION_FAILURE", "key": "RFC_COMMUNICATION_FAILURE", "message": "\nLOCATION CPIC (TCP/IP) on local host with Unicode\nERROR hostname 'xxxxxx' unknown\nTIME Tue Jun 13 09:41:30 2023\nRELEASE 753\nCOMPONENT NI (network interface)\nVERSION 40\nRC -2\nMODULE /bas/753_REL/src/base/ni/nixxhl.cpp\nLINE 198\nDETAIL NiHLGetNodeAddr: hostname cached as unknown\nCOUNTER 3" }

bsrdjan commented 1 year ago

It is either a network error or error in client connection parameters. Please re-open if not fixed in the meantime.