Installing synce from tarballs: where to install?

Mikkel L. Ellertson mikkel at infinity-ltd.com
Fri Feb 23 01:54:24 UTC 2007


Dotan Cohen wrote:

> I don't mind adding /opt and /opt/bin to my path. One question,
> though. If I have foo-0.8 (for example) installed and package bar want
> foo-0.7, how can I set it up so that only bar will use foo-0.7. I'd
> leave the system's foo-0.8 as it is, and unpack the foo-0.7 tarball
> into /opt. Then, I'd install bar, but how do I tell bar to use the foo
> in /opt?
> 
> While this is a purely hypothetical situation at the moment, I'm
> interested as I've had problems of this sort in the past. I'm trying
> to learn _before_ I find myself stuck.
> 
It is hard to give a general answer to this, because it depends on
what f00-0.7 is. If it is a program that bar runs, then you have to
change bar's configuration to point to the correct location.
(Programs like k3b, mplayer-gui, etc.) If it is a library, it is
possible to have more then one version of a library installed. The
linker will normally like to the version the program was compiled
ageist. It gets tougher when it is a minor version change, because
minor version changes are supposed to be backwards compatible.

You should also take a look at the man page for the ld.so command.
There are some environment variables you can set to control where it
looks for libraries. You can write a shell script named bar that is
in your path, and not have bar in your path. Then when you run bar,
the script sets LD_LIBRARY_PATH and then runs bar with its full path
name. This works well if the bar script is in /usr/local/bin, and
bar is in /opt/bar.

Mikkel
-- 

  Do not meddle in the affairs of dragons,
for thou art crunchy and taste good with Ketchup!




More information about the fedora-list mailing list