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

Cannot target 11.2 Instant Client #123

Closed
randomsock opened this issue Jun 20, 2015 · 4 comments
Closed

Cannot target 11.2 Instant Client #123

randomsock opened this issue Jun 20, 2015 · 4 comments

Comments

@randomsock
Copy link

Environment

Linux RHEL 6.6
Node.js v0.12.4
oracledb 0.6.0
Instant Client 11.2.0.4.0-1.x86_64 [1]
Target server: Oracle9i Enterprise Edition 9.2.0.8.0

[1] Downgraded to 11.2 client as 12.1 client no longer supports our archaic 9.2 backend.

Runtime env:

OCI_VERSION=11
OCI_INCLUDE_DIR=/usr/include/oracle/11.2/client64
OCI_LIB_DIR=/usr/lib/oracle/11.2/client64/lib
NLS_LANG=.UTF8

Symptoms

Builds fine, connects ok, but first execute fails showing this with LD_DEBUG=files:

6083:     /home/sock/dev/foo/node_modules/oracledb/build/Release/oracledb.node: error: symbol lookup error: undefined symbol: OCIBindByName2 (fatal)
/usr/local/bin/node: symbol lookup error: /home/sock/dev/foo/node_modules/oracledb/build/Release/oracledb.node: undefined symbol: OCIBindByName2

By changing the SQL params to use hash, array or embedded (just for testing) the undefined symbol changes between OCIBindByName2, OCIBindByPos2 and OCIDefineByPos2 resp.

Coincidentally, these are the new APIs introduced in OCI 12.1. So it looks like oracledb is targeting 12.1, even though only 11.2 is installed and configured (OCI_VERSION=11 etc).

The change log earlier said 11.2 or later required, but no mention of not supporting 11.2 any more.

@cjbj
Copy link
Member

cjbj commented Jun 21, 2015

OCI_VERSION,OCI_INCLUDE_DIR, OCI_LIB_DIR are variables used by Joe's driver. Node-oracledb uses OCI_INC_DIR and OCI_LIB_DIR, and only at build time. See INSTALL.md. I build with 11.2 all the time since that's the most recent version on OS X.

@randomsock
Copy link
Author

Ahhhhh, my bad.

Don't you just wish people would RTFM first! :/

@cjbj cjbj added the invalid label Jun 23, 2015
@cjbj
Copy link
Member

cjbj commented Jun 23, 2015

Yes!!

@nuskyazhar
Copy link

thank you very much. setting these 2 environment variables fixed the problem

set OCI_LIB_DIR=C:\oracle\instantclient_12_1\sdk\lib\msvc
set OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include

@oracle oracle locked and limited conversation to collaborators Nov 10, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants