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