At work we have a vendor supplied library that was delivered to us in the form of C++ headers and .so
files. Our production environment has been CentOS 6 for a long time, but we may soon upgrade to CentOS 7. RPM files have been created both for the library and for our C++ program that uses the library.
I should also mention that the vendor library's dependencies are dynamically linked.
Installing onto new instances of CentOS 6 works fine via yum
, however on CentOS 7 things go quite poorly. yum
complains about many packages that it can't find, with python2.6 (i.e. libpython2.6.so
) as an example. I can find RPMs for all these various missing dependencies, but in many cases can't install them anyway, as yum says there's "nothing to do" in cases where it would mean a downgrade.
I suppose my question is twofold. Is it possible, as in Python's case, to install another version of Python via yum
, without it becoming the system version, so that the linker can find it for this old vendor library?
Manually creating all the .so
files seems like a losing battle, as there a lot of missing dependencies, such as libpng12
, when CentOS 7 has libpng15
.
What would an experienced sysadmin do in this case? Or is this just a case where making this old program run on CentOS 7 is tilting at windmills?