I want to install multiple versions of a package (say libX) from src. The package (libX) uses Autotools to build, so follows the ./configure , make, make install convention. The one installed by default goes to /usr/local/bin and /usr/local/lib and I want to install another version of this in /home/user/libX .
The other problem is that libX is a dependency for another package (say libY) which also uses autotools. How to I make libY point to the version installed in /home/user/libX ? There could be also a possibility that its a system package like ffmpeg and I want to use the latest svn version for my src code and hence build it from src. What do i do in that case ? What is the best practice in this case so that I do not break the system libraries?
I'm using Ubuntu 10.04 and Opensuse 10.3.
asked 18 Jun '10, 21:14
There are ./configure options for that. To install libX in /home/user/libX you would do something like this:
This will install to /home/user/bin, /home/user/lib, etcetera. Now, to build libY you should be able to do something like this:
Check the application's documentation and build options to see what --with-XXX switches are supported. Of course, the above examples assume a standard GNU autoconf/automake application.
answered 20 Jun '10, 08:11
To use the software you've built and installed, you'll have to set some environment variables. If it's a program, for example, you'll need to add the
Most libraries install a
At run time, the system needs to know where to look for the
You can put these permanently into your environment, or you can create a shell script that sets them locally and then invokes a command given on the command line (eg using
If you find yourself using a lot of bleeding-edge libraries, you might do better to install a development or unstable version of your distro, such as Debian sid or the alpha of the next version of Ubuntu. Alternatively you might find that someone is already building advanced versions of the packages you're interested in. Ubuntu's PPA system is good for this, for example. I don't know if SUSE has anything similar.