My problem is that I need to install a modern, recent version of cairo & pixman on CentOS 5.6 to support an application. CentOS 5's native version of cairo is very old (1.2.4) and incompatible with the application, yet I don't have the option of running it on a more recent distro.
I also don't have the option of just installing from source directly on the server in a local directory - I need to build an RPM for it to be deployed by an operations team.
As far as I can tell, my only option is to configure & package the newer versions of cairo & pixman to install to a non-system prefix (/opt, perhaps) and then set my application's environment library paths to include this location. However, I'm not an expert in Linux's shared library system.
Is there a way of packaging & installing a newer version of a shared library in such a way that it does not conflict with or overwrite the native version, yet applications can be configured to require the newer version?
答案1
You could install mock, grab a SRPM from Fedora, and rebuild with mock without modifying the SRPM on CentOS, and then install the RPM one of two ways:
- $ rpm --prefix=/opt/folder package-version.rpm
- $ yum --installroot=/opt/folder localinstall package-version.rpm