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

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


That is the easy part.

--- Makefile.am (revision 5345)
+++ Makefile.am (working copy)
@@ -22,6 +22,7 @@
 noinst_LTLIBRARIES = libKingOracleProviderSrc.la

 libKingOracleProviderSrc_la_SOURCES = \
+c_SdeGeom2AGF.cpp \
 c_FdoOra_API2.cpp \
 c_KgOraRasterCapabilities.cpp \
 c_FgfToSdoGeom.cpp \
@@ -70,6 +71,7 @@


Fixing the following is a little harder.

undefined symbol: g_LogFileName (./libKingOracleProvider.so)

Someone needs to edit ...\fdo\Providers\KingOracle\c_KgOraConnection.cpp so that the g_LogFileName is defined outside the #ifdef. Then they need to initialize it correctly.

#ifdef _WIN32

static wchar_t g_AppFileName[MAX_PATH];
static wchar_t g_HomeDir[MAX_PATH];
>>>   wchar_t g_LogFileName[MAX_PATH];


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 3:39 PM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] RE: Oracle 10.2.0.3 Linux instant client

Yep.  You are correct.  That file is not present in Makefile.am.  Do we need to do something for cmake as well?

Thanks,
Trevor

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

There is new file in project c_SdeGeom2AGF.cpp. I assume it is not added to make file.

Haris
On Tue, Mar 9, 2010 at 9:15 PM, Greg Boone <greg.boone at autodesk.com<mailto:greg.boone at autodesk.com>> wrote:
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<http://libKingOracleOverrides-3.5.0.so> => /home/fdouser/fdo35bin/lib/libKingOracleOverrides-3.5.0.so<http://libKingOracleOverrides-3.5.0.so> (0x00116000)
        libFDO-3.5.0.so<http://libFDO-3.5.0.so> => /home/fdouser/fdo35bin/lib/libFDO-3.5.0.so<http://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> [mailto: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> [mailto: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> [mailto: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> [mailto: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> [mailto: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> [mailto: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> [mailto: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



_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org<mailto:fdo-internals at lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/fdo-internals

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


More information about the fdo-internals mailing list