[fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Greg Boone greg.boone at autodesk.com
Tue Mar 9 15:15:35 EST 2010


Hi Trevor,

I updated my RH EL 5 box with Oracle 11gr2. The build worked well. However, when I tried to determine if all the dependencies were in place, I received some undefined sysmbols.

Do you see these issues?


[root at localhost lib]# ldd -r libKingOracleProvider.so
        linux-gate.so.1 =>  (0x00eae000)
        libKingOracleOverrides-3.5.0.so => /home/fdouser/fdo35bin/lib/libKingOracleOverrides-3.5.0.so (0x00116000)
        libFDO-3.5.0.so => /home/fdouser/fdo35bin/lib/libFDO-3.5.0.so (0x00187000)
        libocci.so.11.1 => /usr/lib/oracle/11.2/client/lib/libocci.so.11.1 (0x004fb000)
        libclntsh.so.11.1 => /usr/lib/oracle/11.2/client/lib/libclntsh.so.11.1 (0x00eaf000)
        libociei.so => /usr/lib/oracle/11.2/client/lib/libociei.so (0x03579000)
        libnnz11.so => /usr/lib/oracle/11.2/client/lib/libnnz11.so (0x0096e000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x006e8000)
        libm.so.6 => /lib/libm.so.6 (0x00c2d000)
        libc.so.6 => /lib/libc.so.6 (0x00c54000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00e84000)
        libxalan-c.so => /home/fdouser/fdo35bin/lib/libxalan-c.so (0x02bb8000)
        libxalanMsg.so.17 => /home/fdouser/fdo35bin/lib/libxalanMsg.so.17 (0x00648000)
        libxerces-c.so.25 => /home/fdouser/fdo35bin/lib/libxerces-c.so.25 (0x02ec9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00650000)
        libdl.so.2 => /lib/libdl.so.2 (0x00110000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00667000)
        libaio.so.1 => /usr/lib/libaio.so.1 (0x00114000)
        /lib/ld-linux.so.2 (0x006cc000)
undefined symbol: g_LogFileName (./libKingOracleProvider.so)
undefined symbol: _ZN13c_SdeGeom2AGF5ToAGFEv    (./libKingOracleProvider.so)
undefined symbol: _ZN13c_SdeGeom2AGF5ToAGFEdddd (./libKingOracleProvider.so)
undefined symbol: _ZN13c_SdeGeom2AGFD1Ev        (./libKingOracleProvider.so)
undefined symbol: _ZN13c_SdeGeom2AGFC1Ev        (./libKingOracleProvider.so)


From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Tuesday, March 09, 2010 1:43 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Ok. I will submit the changes to the Makefile.am's for 3.5.0 and trunk.

Thanks,
Trevor

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: March 9, 2010 11:30 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

I say we move the KingOracle provider to use the Oracle 11 client on Linux. I know it is not optimal, but I think the risks are fairly minimal.  We may wish to do the same for Windows, but I think that is less of an issue.

Greg

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Tuesday, March 09, 2010 11:54 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Hi Greg,

-lnnz10 is also a problem.  Oracle renamed this library to libnnz11.so for Oracle 11.  The additional -L and -I directives can coexist but we can only pick one version of  libnnz.

On the plus side, compilation against the Oracle 11 instant client worked without a hitch and the c++ libraries are consistent.  I have not tested the provider yet since I do not have an Oracle database set up.

Upgrading the Oracle client library after RC1 is probably a bit naughty from a "release" standpoint.  However, mixing c++ libraries seems like an accident waiting to happen.

Please note:  This dual c++ library problem should also manifest itself with other shared libraries build against the 10.2 client on CentOS/RedHat 5.


What should we do?


Regards,
Trevor

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: March 9, 2010 9:34 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Yes... The Makefile changes are all I anticipate.

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Tuesday, March 09, 2010 11:21 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Ok.  No problem.  I assume we only need to make two small changes to -L and -I directives in KingOracle/src/Makefile.am and KingOracle/src/Provider/Makefile.am?

I will try it out.

Thanks Greg,
Trevor

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: March 9, 2010 9:08 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

We can change the compiler settings to first look for oracle 11 and then oracle 10. It is not a big change.

From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Tuesday, March 09, 2010 9:48 AM
To: FDO Internals Mail List
Subject: [fdo-internals] Oracle 10.2.0.3 Linux instant client

Hi everyone,

I have been doing some .so dependency checking on Linux and have noticed that the Oracle 10.2.0.3 instant client used to compile the King.Oracle Provider contains shared lib references to libstdc++.so.5.  This is the c++ library for GCC 3.4.  However, we compile Fdo under GCC 4.1 so we end up referencing both libstdc++.so.5 and libstdc++.so.6.

>From a previous discussion, mixing headers from different C++ libs is problematic.  Will this mix of c++ libraries cause problematic behaviour (memory leaks, etc) with the King.Oracle Provider?  If so, do we need to upgrade the Oracle instant client?  I downloaded the 11.2 instant client and it correctly links to libstdc++.so.6.  I do not know if King.Oracle will compile against it though.

Please note, this would not a problem when compiling under CentOS/Redhat 4 since the default compiler was gcc/g++ 3.4.

Regards,
Trevor


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20100309/c501cd6c/attachment-0001.html


More information about the fdo-internals mailing list