title: libclntsh.so.12.1 : cannot open shared object file error when running sample of node-oracledb
body: <p>My goal is to connect to a oracle database on a VMWare guest machine (OpenSuse) from Ubuntu.</p>
  
  <p>For now I have only installed the <a href="https://github.com/oracle/node-oracledb">oracledb</a> driver, and was trying to run the <a href="https://github.com/oracle/node-oracledb/blob/master/examples/connect.js">example connect program</a> given.</p>
  
  <p>The steps that I am following are from the github <a href="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#-3-node-oracledb-installation-on-linux-with-instant-client-zip-files">INSTALL</a> page. What I have done till now are these :</p>
  
  <p>1) Since I have node.js already installed I skipped the <a href="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#31-install-nodejs">step 3.1</a>.</p>
  
  <p>2) I have successfully downloaded and extracted the <strong><em>basic</em></strong> and <strong><em>sdk</em></strong> as mentioned in <a href="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#32-install-the-free-oracle-instant-client-zips">step 3.2</a>.</p>
  
  <p>3) Since I couldn't find any package named <code>libaio</code> but I did found <code>libaio1</code>. So I installed <code>libaio1</code>.</p>
  
  <p>4) I made the environment variable <code>LD_LIBRARY_PATH</code> and the contents of it on my PC is <code>/opt/oracle/instantclient</code>.</p>
  
  <p>5) As mentioned in <a href="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#33-install-the-driver">step 3.3</a>; even though it wasn't mandatory in my case; I made two environment variables: <code>OCI_LIB_DIR</code> with contents <code>/opt/oracle/instantclient</code> and <code>OCI_INC_DIR</code> with contents <code>/opt/oracle/instantclient/sdk/include</code>.</p>
  
  <p>6) Installed <code>node-oracledb</code>.</p>
  
  <p>I am trying to run the example connect program. The code that I am using is here <a href="https://github.com/ishanatmuz/oracle-test">https://github.com/ishanatmuz/oracle-test</a>. When I run <code>node connect.js</code> I am getting this error.</p>
  
  <pre><code>/home/ishan/node.js/oracle-test/node_modules/oracledb/lib/oracledb.js:28
  throw err;
            ^
  Error: libclntsh.so.12.1: cannot open shared object file: No such file or directory
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Module.require (module.js:364:17)
      at require (module.js:380:17)
      at Object.&lt;anonymous&gt; (/home/ishan/node.js/oracle-test/node_modules/oracledb/lib/oracledb.js:23:15)
      at Module._compile (module.js:456:26)
      at Object.Module._extensions..js (modullibclntsh.so.12.1e.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Module.require (module.js:364:17)
  </code></pre>
  
  <p>Since I haven't started the VMware guest machine yet; I was hoping of getting an error regarding no such database instance found. And then only after that run the VMWare machine and connect to the database inside it. But instead I am getting the error of <code>cannot open shared object file</code> for <code>libclntsh.so.12.1</code>.</p>