This discussion is archived
1 Reply Latest reply: Dec 25, 2012 10:52 PM by Santosh Pradhan RSS

Undefined Symbol

483523 Newbie
Currently Being Moderated
I'm having a good deal of difficulty getting OIC to be loaded by php. I've tried solutions from various posts here, but have had no luck so far. When starting httpd, the following messages occur:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/libnnz10.so' - /usr/lib/php/modules/libnnz10.so: undefined symbol: nltrc_entry in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/libocci.so.10.1' - /usr/lib/php/modules/libocci.so.10.1: undefined symbol: OCIPGetErrorMessage in Unknown on line 0

I have exported LD_LIBRARY_PATH and even ORACLE_HOME (even though the latter shouldn't make a difference) and ldd shows that all the correct libraries are loading:

ldd libocci.so.10.1
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x009ea000)
libm.so.6 => /lib/tls/libm.so.6 (0x0074c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00b0d000)
libc.so.6 => /lib/tls/libc.so.6 (0x00d33000)
/lib/ld-linux.so.2 (0x0031a000)
ldd libnnz10.so
libc.so.6 => /lib/tls/libc.so.6 (0x00111000)
/lib/ld-linux.so.2 (0x0031a000)

My guess is that OIC was compiled against another version of glibc seeing as the modules are loading all the shared libs and I'm still getting unresolved symbols, but I could be wrong about that too. Is there anyone out there in Oracle land who would be able to give this young novice a bit of direction?

For your information, here is my system:

CentOS release 4.2 (Final)
linux 2.6.9-22.EL
apache 2.0.52
php 5.0.4
Oracle Instant Client 10.2.0.1-1

To clarify a few things, loading the modules thru the LD_LIBRARY_PATH has not worked yet and even adding the directory to /etc/ld.so.conf has not worked. I've copied the contents of the OIC lib directory to the php modules directory and made php load these modules in php.ini thru extension=module. It would seem that this is not needed when reading the instructions provided by oracle, but without it, php doesn't even attempt to load the modules. Perhaps this is where I've gone wrong, but I certainly would value an outsider's guidance.

Message was edited by:
user480520
  • 1. Re: Undefined Symbol
    Santosh Pradhan Explorer
    Currently Being Moderated
    Even i got the same error
    This is R3trans version 6.14 (release 700 - 14.02.08 - 14:55:00).
    unicode enabled version
    2EETW169 no connect possible: "maybe someone set invalid values for DIR_LIBRARY ('/usr/sap/PRD/SYS/exe/run') or dbms_type ('ORA')"
    R3trans finished (0012).
    [prdadm@clover ~]$ cat trans.log
    4 ETW000 R3trans version 6.14 (release 700 - 14.02.08 - 14:55:00).
    4 ETW000 unicode enabled version
    4 ETW000 ===============================================
    4 ETW000
    4 ETW000 date&time : 26.12.2012 - 10:55:44
    4 ETW000 control file: <no ctrlfile>
    4 ETW000 R3trans was called as follows: R3trans -x
    4 ETW000 trace at level 2 opened for a given file pointer
    4 ETW000 [dev trc     ,00000] Wed Dec 26 10:55:44 2012 6400 0.006400
    4 ETW000 [dev trc     ,00000] db_con_init called 32 0.006432
    4 ETW000 [dev trc     ,00000] create_con (con_name=R/3) 40 0.006472
    4 ETW000 [dev trc     ,00000] Loading DB library '/usr/sap/PRD/SYS/exe/run/dboraslib.so' ...
    4 ETW000 25 0.006497
    4 ETW000 [dlux.c      ,00000] *** ERROR => DlLoadLib: dlopen()= /oracle/client/10x_64/instantclient/libnnz10.so: undefined symbol: nltrc_entry -> DLENOACCESS (0,Success)
    4 ETW000 290587 0.297084
    4 ETW000 [dbcon.c     ,00000] *** ERROR => Couldn't load library '/usr/sap/PRD/SYS/exe/run/dboraslib.so'
    4 ETW000 15 0.297099
    2EETW169 no connect possible: "maybe someone set invalid values for DIR_LIBRARY ('/usr/sap/PRD/SYS/exe/run') or dbms_type ('ORA')"

    is there any solution for it