LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 10-21-2015, 03:54 AM   #1
tejasvinnakota
LQ Newbie
 
Registered: Oct 2015
Posts: 4

Rep: Reputation: Disabled
how to Install the two versions of rpm's parallely and make them work


Hi
Currently Iam trying to install a rpm secured_soft_2.0.0.rpm and iam unable to install it as we already have secured_soft_1.3.0 installed.

Requirement is that we need to have both the versions installed.

Complexities :

These packeage inturn have dependent rpm's (lot of them ) and all these interdependent rpm's also have versions
ex: secured_soft_1.3.0 works only with packages which are of version 1.3, and secured_soft_2.0.0.rpm work only with dependecies of version 2.0 only.
So all these dependencies also need to be reinstalled and even these dependenies should be parallely installed, without deleting old.

Finally , both these versions contain shared libraries and these shared lib's do not have version numbers in their name.

# rpm -ivh secured_soft_2.0.0.rpm
error: Failed dependencies:
init-class >= 1.4.17.1-1 is needed by secured_soft_2.0.0.rpm
init-connection-interface >= 2.0.11.0 is needed by secured_soft_2.0.0.rpm
init-logger >= 2.0.11.0 is needed by secured_soft_2.0.0.rpm
init-security >= 2.0.11.0 is needed by secured_soft_2.0.0.rpm

As i have specified we already have secured_soft_1.3.0.rpm installed and above dependencies are also available but of different version.
So we need the to install above dependencies and also need the old version's of dependencies for the old rpm's to work

ex : secured_soft_2.0.0.rpm has libArt.so libSec.so and so on which are copied to /usr/lib

Similarly secured_soft_1.3.0.rpm also has libArt.so libSec.so and so on which are already available in /usr/lib

I tried to rename the so's but still iam not able to install.

Is it possible to change the location for these so's and get the things done
Is there any way we can do it.

At the moment, iam stuck here and would need advice on this
Appreciate any help on this.
 
Old 10-21-2015, 03:57 AM   #2
Keruskerfuerst
Senior Member
 
Registered: Oct 2005
Location: Horgau, Germany
Distribution: Manjaro KDE, Win 10
Posts: 2,199

Rep: Reputation: 164Reputation: 164
I dont think you can install two versions of one package parallel.
 
Old 10-21-2015, 04:24 AM   #3
Drakeo
Senior Member
 
Registered: Jan 2008
Location: Urbana IL
Distribution: Slackware, Slacko,
Posts: 3,716
Blog Entries: 3

Rep: Reputation: 483Reputation: 483Reputation: 483Reputation: 483Reputation: 483
You need to stop thinking RPM and think programs how do I build and install two versions of the same program. RPM is just a prebuilt program in a tar ball. The package manager just extracts it looks for a install script to run.

if you want to build the second one then build it and place it and all the other dependencies in /usr/local/ directories.

The RPM manager is just doing what it was scripted to do. Upgrade reinstall uninstall and force install that usually breaks things.
This is the main reason I use slackware. that is the ability to manipulate the Tar ball Slack-package. and or grab the code and build it and run it from a separate Branch of the systems tree.

All linux systems are able to do this. and you can edit and build custom RPM's that install that way after building.

Last edited by Drakeo; 10-21-2015 at 04:29 AM.
 
Old 10-21-2015, 07:02 AM   #4
tejasvinnakota
LQ Newbie
 
Registered: Oct 2015
Posts: 4

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Drakeo View Post
You need to stop thinking RPM and think programs how do I build and install two versions of the same program. RPM is just a prebuilt program in a tar ball. The package manager just extracts it looks for a install script to run.

if you want to build the second one then build it and place it and all the other dependencies in /usr/local/ directories.

The RPM manager is just doing what it was scripted to do. Upgrade reinstall uninstall and force install that usually breaks things.
This is the main reason I use slackware. that is the ability to manipulate the Tar ball Slack-package. and or grab the code and build it and run it from a separate Branch of the systems tree.

All linux systems are able to do this. and you can edit and build custom RPM's that install that way after building.
Hi

At the moment i just have the new rpm's that are given tyo us by third party client,
And how can i see the install script form this rpm.

Can you please expain what has to be done using these new version packages.

PS : i am new to RPM and the related stuff
Thanks
Tejas
 
Old 10-21-2015, 07:06 AM   #5
marius162
LQ Newbie
 
Registered: Apr 2015
Posts: 15

Rep: Reputation: Disabled
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.
 
Old 10-21-2015, 07:20 AM   #6
tejasvinnakota
LQ Newbie
 
Registered: Oct 2015
Posts: 4

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by marius162 View Post
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
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to install two versions of same rpm , its conflicting currently tejasvinnakota Linux - Enterprise 3 10-21-2015 03:58 PM
how to make end of life ubuntu versions work mzsade Linux - Desktop 7 08-04-2011 03:21 AM
How to install Linux on multiple desktops parallely sahil.jammu Linux - Newbie 4 07-08-2011 12:21 AM
RPM's or ./configure-make-make install? i_suck_at_linux General 8 12-11-2005 02:02 PM
alsa cant work parallely with more then one program. demmylls Linux - General 6 03-09-2004 10:43 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 04:15 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration