Sneha Gaikwad - 2014-03-11

The libGkmDnb.so is a custom component shared object that has been created under Data Stage!
The main prior issue which was detected due to conflict of compilation of iostream and stlport4 library together.
Dependency:
The APT_Util library uses iostream library while the stlport4 is required for compilation of BOOST library.
Compilation and Linking Error:
(dnbGkm) $ make
/dnb/opt/SUNWspro/prod/bin/CC -dalign -library=iostream -library=stlport4 -O -PIC -m64 -I /home/ab15609/redis-2.6.9/deps/hiredis -I /dnb/opt/IBM/InformationServer91/Server/branded_odbc/include -c gkmFrame.cpp -I /dnb/opt/IBM/InformationServer91/Server/PXEngine/include/ -I /home/ab36936/DnbDSComponents_GKM/dnbDScache -I /home/ab36936/DnbDSComponents_GKM/dnbDSrdmlookup -I ../dnbDScache -I /home/ab15609/redis-2.6.9/deps/hiredis -I /dnb/opt/SUNWspro/prod/include/CCios -I /dnb/prosess/InformationServer/Utv/DIHub/CustomComponents/lib/boost/boost_1_55_0 -I /dnb/opt/SUNWspro/prod/include/CC/stlport4/
CC: -library=stlport4 cannot be used with -library=iostream
*** Error code 1
make: Fatal error: Command failed for target `gkmFrame.o'
ab36936@nukigaki (dnbGkm) $
Exception at the Datastage library:

main_program: Error loading "libdnbGkm": Could not load "libdnbGkm": ld.so.1: osh: fatal: relocation error: file /dnb/prosess/InformationServer/Utv/DIHub/CustomComponents/lib/libdnbGkm.so: symbol 1cDstdRNamed_exceptionEwhat6kM_pkc_: referenced symbol not found.

Excerpts of Makefile is given below:
libdnbGkm.so: uidGen.o gkmKeys.o gkmDataObject.o gkmDomainKeys.o logger.o gkmFrame.o
$(LINK.cc) -G -o libdnbGkm.so -h libdnbGkm.so.1.0 uidGen.o gkmKeys.o gkmDataObject.o gkmDomainKeys.o logger.o gkmFrame.o -L $(MYLIBDIR) -L $(MYGKMDIR) -L $(MYRDMDIR)
-ldnbOdbcConnector -L $(DNBDSCACHE_INCLUDE) -ldnbCacheManager -L $(HIREDISDIR) -L $(ODBCINCLUDEDIR) -L $(ODBCLIBDIR) -lhiredis -L $(STLINCLUDE) -L $(IOSLIB) -lsocket -lnsl -l
dl -L /dnb/opt/SUNWspro/prod/lib/stlport4 -lstlport
if test -f libdnbGkm.so.1.0 ; then rm libdnbGkm.so.1.0; fi
ln -s libdnbGkm.so libdnbGkm.so.1.0
Could find the exception in the following library stlport4
elfdump -Cs /dnb/opt/SUNWspro/prod/lib/stlport4/libstlport.so.1 | grep -i named
[429] 0x000eaa20 0x00000024 OBJT GLOB D 0 .rodata std::RTTI1nDstdRNamed_exception_
[1058] 0x000a5ca8 0x00000064 FUNC GLOB D 0 .text std::
Named_exception::Named_exception(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
[1076] 0x00104e84 0x00000010 OBJT GLOB D 0 .data std::
Named_exception::vtbl
[1154] 0x000a5d74 0x00000008 FUNC GLOB D 0 .text std::
Named_exception::~Named_exception()
[1838] 0x000a5ca8 0x00000064 FUNC GLOB D 0 .text std::
Named_exception::Named_exception #Nvariant 1(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
[2287] 0x000eaa84 0x00000024 OBJT GLOB D 0 .rodata std::
RTTI1CpnDstdRNamed_exception_
[2642] 0x000eaac0 0x00000024 OBJT GLOB D 0 .rodata std::RTTI1CpknDstdRNamed_exception_
[3036] 0x000a5d1c 0x00000008 FUNC GLOB D 0 .text const char*std::
Named_exception::what()const
[3192] 0x000a5d34 0x00000030 FUNC GLOB D 0 .text std::Named_exception::~Named_exception #Nvariant 1()
[1962] 0x000eaa20 0x00000024 OBJT GLOB D 0 .rodata std::RTTI1nDstdRNamed_exception_
[2591] 0x000a5ca8 0x00000064 FUNC GLOB D 0 .text std::
Named_exception::Named_exception(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
[2609] 0x00104e84 0x00000010 OBJT GLOB D 0 .data std::
Named_exception::vtbl
[2687] 0x000a5d74 0x00000008 FUNC GLOB D 0 .text std::
Named_exception::~Named_exception()
[3371] 0x000a5ca8 0x00000064 FUNC GLOB D 0 .text std::
Named_exception::Named_exception #Nvariant 1(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
[3820] 0x000eaa84 0x00000024 OBJT GLOB D 0 .rodata std::
RTTI1CpnDstdRNamed_exception_
[4175] 0x000eaac0 0x00000024 OBJT GLOB D 0 .rodata std::RTTI1CpknDstdRNamed_exception_
[4569] 0x000a5d1c 0x00000008 FUNC GLOB D 0 .text const char*std::
Named_exception::what()const
[4725] 0x000a5d34 0x00000030 FUNC GLOB D 0 .text std::Named_exception::~Named_exception #Nvariant 1()

Please let me know which libraries are essential and to be used to remove this exception at Data Stage level.
Please note that I am loading this library at the datastage; the UNIX is based of SUN/SOLARIS library is a 62 Bit processor.
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you