Node-oracledb: install with glibc 2.27 fails (Fedora 28)

Created on 17 Apr 2018  路  10Comments  路  Source: oracle/node-oracledb

Delete unnecessary parts of this template.

For general questions:

For security issues:

For installation issues:

Answer the following questions:

node 8.11.1

oracledb 2.2

64-bit 12.2 instant client

  1. What is your Oracle Database version?

  2. What is your OS and version?
    fedora 28

  3. What is your compiler version? For example, with GCC, run gcc --version
    gcc 8

  4. What Oracle environment variables did you set? How exactly did you set them?

  5. What is the PATH environment variable (on Windows) or LD_LIBRARY_PATH (on Linux) set to?
    echo $LD_LIBRARY_PATH
    /usr/lib/oracle/12.2/client64/lib

glogin.sql libclntsh.so.12.1 libocci.so libons.so ojdbc8.jar
libclntshcore.so libipc1.so libocci.so.12.1 liboramysql12.so ottclasses.zip
libclntshcore.so.12.1 libmql1.so libociei.so libsqlplusic.so xstreams.jar
libclntsh.so libnnz12.so libocijdbc12.so libsqlplus.so

  1. What exact command caused the problem (e.g. what command did you try to install with)? Who were you logged in as?

npm install

  1. What error(s) you are seeing?

/home/prounix/projekte/lotterieservices/lotterie/node_modules/oracledb/lib/oracledb.js:65
throw new Error(nodbUtil.getErrorMessage('NJS-045', nodeInfo));
^

Error: NJS-045: cannot load the oracledb add-on binary for Node.js 8.11.1 (linux, x64)
Node.js require() error was:
DPI-1047: 64-bit Oracle Client library cannot be loaded: "libnsl.so.1: cannot open shared object file: No such file or directory".

install & configuration

Most helpful comment

I removed the oracle-instanclient 11.2 and installed the 12.2 and executed the following commands:

ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1

Thank you @volkmarbuehringer.

All 10 comments

  • why do you think it is glibc 2.27? And if it is, this is likely to be out of scope of the Node.js driver since it would be an Oracle client thing :(

  • How do you know LD_LIBRARY_PATH is actually set when Node is called?

  • do you have experience with other platforms?

  • does SQL*Plus work?

Installations with fedora27 and centos 7 are ok

libnsl.so.1 is part of glibc 2.26 but not on my computer with fedora 28
and glibc 2.27

I linked libnsl.so.2.0.0 to libnsl.so.1 and it started

The joys of being 'bleeding edge'. Thanks for bringing it up so others can benefit.

This is an OCI thing (and I've noted it) so I'll close this issue as it's out of scope for node-oracledb.

Hey @volkmarbuehringer, I'm a Fedora 28 user and I'm facing the same problem but with the cx_Oracle. Please, could you provide more detail about your workaround?

I removed the oracle-instanclient 11.2 and installed the 12.2 and executed the following commands:

ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1

Thank you @volkmarbuehringer.

ln Fedora28 libnsl has been relocated from the glibc (2.27) RPM to libnsl2-1.2.0-2.20180605git4a062cf.fc28.i686 (32-bit) and it is version 2.

Creating a symbolic link to so.1 is a bandaid at best.

It'll be interesting to see how our DB build team handles this when/if the libnsl change makes it to the supported Linux platforms.

I removed the oracle-instanclient 11.2 and installed the 12.2 and executed the following commands:

ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1

Thank you @volkmarbuehringer.

Whoaaaaaaaaa thanks guys @volkmarbuehringer and @rafaelreuber

I removed the oracle-instanclient 11.2 and installed the 12.2 and executed the following commands:

ln -s /usr/lib64/libnsl.so.2.0.0 /usr/lib64/libnsl.so.1
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1

Thank you @volkmarbuehringer.

Thank you

Instead of creating links, install the libnsl package: yum install -y libnsl

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nicholas-ochoa picture nicholas-ochoa  路  3Comments

JocelynDalle picture JocelynDalle  路  3Comments

PaulBrookes picture PaulBrookes  路  4Comments

chsnt picture chsnt  路  3Comments

cheslyn picture cheslyn  路  3Comments