Quote:
Originally Posted by marius162
1. identify the two executables of your application
2. identify their dependencies with ldd. Let's say one executable was called ffmpeg, then the output of ldd might look something like this:
ldd /usr/local/bin/ffmpeg
linux-gate.so.1 (0xb77b3000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb769c000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7601000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb75e4000)
libm.so.6 => /lib/libm.so.6 (0xb759e000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0xb758d000)
[...]
these are the files that you need
[...]
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb6bb7000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0xb6b9e000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb6b72000)
3. if the binary of your version 1.3 only depends on files with the extension, say, *.so.1 and that of ver. 2.0 on .so.2, then you might try to simply keep both sets of the dependencies (just copy them manually into the required directory) on the box where you want to install this. But if they at least partly depend on files with the same names but actually different versions, then you could try to write two scripts of which each starts one of your versions and before that, links the required versions of the dependencies to the required links (like ln -snf "/usr/local/lib/libpcap.so.1.3.0" "/usr/local/lib/libpcap.so.1"). Or if you have the sources of your software and the makefiles, you could rename the dependencies in them, rebuild the software and then keep two sets of the .so.
I've done that multiple times this way and sometimes it even worked.
|
Hi
Here there are the files after i ve given this command
rpm2cpio itcsm-agent-2.0.11.0-1.el6.i386.rpm | cpio -idmv
./etc/Proj/agent/config/agentEvent_DataDictionary.conf
./etc/Proj/agent/config/agentIdentityDictionaryfile.txt
./etc/Proj/agent/config/agentdictionaryfile.txt
./etc/Proj/agent/config/agentdictionaryfile_secured.txt
./etc/Proj/agent/config/regEx.txt
./etc/Proj/agent/config/sample_agent.conf
./etc/Proj/agent/config/sample_agentIdentity.conf
./etc/Proj/agent/scripts
./etc/Proj/agent/scripts/Proj_agent.env
./etc/Proj/agent/scripts/updateAgentIdentityConf.sh
./usr/lib/libProj.so
./usr/lib/libProj.so.1
./usr/lib/libProj.so.1.0
./usr/lib/libProj.so.2.0.11.0
1505 blocks
And all the above files(with same names) are present in /etc and /usr for the older version
i dint quite understand what has to be done with thses, can i directly copy these files to /usr and etc by renaming them , will that work?
But all the dependent rpm's for this package also need to be changed i suppose
Thanks
Tejas