Solved

I have an issue moving a compiled application to another box because of shared library location change

Posted on 2008-09-30
1
509 Views
Last Modified: 2012-05-05
I have a C++ application compiled on Linux Redhat 4.0. This application when moved to a different box, it doesn't run due to shared library path issues.



The old path of the library is

 /vobs/atsedssv2/vendor/oracle.rh4/lib//libociei.so


The new path is

/opt/atse/sandbox/vendor/oracle.rh4/lib/libociei.so

my $LD_LIBRARY_PATH env is

[pinlc114] msUnTest> echo $LD_LIBRARY_PATH
/opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib::/opt/atse/sandbox/vendor/oracle.rh4/lib:/opt/atse/sandbox/vendor/lib/Linux-x86_64/xerces-c_2_6_0:/opt/atse/sandbox/vendor/lib/Linux-x86_64/FFC



Here is the output



[pinlc114] msUnTest> ldd alltests
        libTAO_PortableServer.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_PortableServer.so.1.3a.16 (0x0000002a95557000)
        libTAO_CosEvent.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_CosEvent.so.1.3a.16 (0x0000002a9581f000)
        libTAO_CosNaming.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_CosNaming.so.1.3a.16 (0x0000002a95b18000)
        libTAO.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO.so.1.3a.16 (0x0000002a95d1d000)
        libACE.so.5.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libACE.so.5.3a.16 (0x0000002a96096000)
        libffc.so (0x0000002a9634a000)
        libMeridianPILoadBalancing.so (0x0000002a96aca000)
        libxerces-c.so.26 (0x0000002a96bde000)
        /vobs/atsedssv2/vendor/oracle.rh4/lib//libociei.so => not found
        libocci.so.10.1 => /opt/atse/sandbox/vendor/oracle.rh4/lib/libocci.so.10.1 (0x0000002a97054000)
        libclntsh.so.10.1 => /opt/atse/sandbox/vendor/oracle.rh4/lib/libclntsh.so.10.1 (0x0000002a9727b000)
        /vobs/atsedssv2/vendor/oracle.rh4/lib//libnnz10.so => not found
        libnnz10.so => /opt/atse/sandbox/vendor/oracle.rh4/lib/libnnz10.so (0x0000002a985e7000)
        libociei.so => /opt/atse/sandbox/vendor/oracle.rh4/lib/libociei.so (0x0000002a98a8a000)
        librt.so.1 => /lib64/tls/librt.so.1 (0x00000035a7100000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00000035a6500000)
        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x00000035a6700000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00000035a6100000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000035a6f00000)
        libm.so.6 => /lib64/tls/libm.so.6 (0x00000035a6300000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000002a9ce94000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x00000035a5e00000)
        libTAO_Messaging.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_Messaging.so.1.3a.16 (0x0000002a9cfa0000)
        libTAO_Svc_Utils.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_Svc_Utils.so.1.3a.16 (0x0000002a9d11d000)
        libTAO_IORTable.so.1.3a.16 => /opt/atseintl/ACE-GNU/ACE_wrappers_OCI_1.3a_p16/lib/libTAO_IORTable.so.1.3a.16 (0x0000002a9d239000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00000035ac200000)
        libstdc++.so.5 => /usr/lib64/libstdc++.so.5 (0x0000002a9d35b000)
        /lib64/ld-linux-x86-64.so.2 (0x00000035a5c00000)
[pinlc114] msUnTest> alltests
alltests: error while loading shared libraries: /vobs/atsedssv2/vendor/oracle.rh4/lib//libociei.so: cannot open shared object file: No such file or directory
[pinlc114] msUnTest>
0
Comment
Question by:EmadGirgis
1 Comment
 
LVL 39

Accepted Solution

by:
itsmeandnobodyelse earned 500 total points
ID: 22612851
I have less experience with linux, but the following article may answer your questions:

http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Quicksort a dynamic deque 33 66
add elements to existing standard structure 2 96
SetCurrentDirectory path limit 7 105
how to understand recursion 12 218
Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now