Because of vendor update situations and other causes I (and my grad
students) have done what you require more than once.
The easiest approach -- if you have adequate disk space, etc., it to use
Virtual Box (licensed for free) or VMWare (variant depending upon what
you need -- the only one that is licensed for free is VMWare Player) and
create under a type 2 hypervisor a virtual machine an instance of the
exact OS and related environment that you need.
The other method is a merry chase, depending upon the situation.
First, find all of the unresolved library and header files that the
installable RPM needs. See if these are available from any reliable
distro or source for the OS release you are using. This may take
repeated iterations. Say, X is needed, and you find X (that supports
exactly what you need, say blah.3.1-4 not blah.3.1-3 nor blah.3.1-5,
unless you are very lucky and any blah.3 will suffice. After you have
fixed the need for X, you may find a need for Y, etc., and then you
continue.
If you must build from source (say, a .SRPM), then the build environment
must be the same, including the C/C++ compiler and the C/C++
library(ies), along with whatever other utilities are needed. If you
are lucky, and the .SRPM wanted say libblah.4.2-1 but the current
libblah.6.x back supports the older functionality, you may be able to
build simply by doing a soft (false name) link between the current
libblah and the libblah version you need. This sometimes works.
If this does not work, and the libblah and other utilities are not
available in the correct version for the environment (OS plus whatever)
upon which the application is to be run, then you must modify the source
code (after expanding the .SRPM to a full source) to use the current
syntax and capabilities that are in use. This may require minor
rewriting, or it may require significant re-design and re-implementation.
Finally, once the desired application is built and runs (runs is
critical -- it may build and install, but fail to run because of other
dependencies), you must test that it still works to your needs,
particularly on "edge" cases. Regrettably, this is not always a simple
process and in some cases requires a major re-design.
If you are not both knowledgeable and "skilled", this can be a learning
experience and a large investment of time. Even if both conditions are
met, it still can be a large investment of time.
On 6/29/21 8:56 AM, Dave Dykstra wrote:
Often an rpm from an older Linux OS will still work on a newer one, but
it depends on how complicated it is. It would be best to recompile it
from the source rpm and make a new binary rpm out of it based on RHEL7,
although it is likely that some porting will also need to be done for
that.
An alternative is to install your SL6 rpm into a CentOS6 docker or
singularity container, and run the docker or singularity application on
the newer operating system.
In any case, you probably are going to need some help, and I don't know
if there is anybody on this mailing list that provides such professional
services. I suggest googling for that.
Dave
On Tue, Jun 29, 2021 at 06:43:12AM +0000, Nick Matchett wrote:
I hope that someone could help me identify an individual or business that would
be able to help me with the following problem.
My business has some software that we acquired the responsibility to maintain
and support, and currently sits on Scientific Linux version 6.3.
Unfortunately, we are at a stage where our customers are asking to bring the
software onto a more current version of a Linux platform.
We would like to migrate to Red Hat or CentOS version 7.9 (or perhaps version
8)
We have been working on a migration from Scientific Linux 6.3 to Redhat 7.9.
Unfortunately, we have limited Linux OS skills in our business, and we have
approached this with a fresh RH 7.9 install and then applying the RPM of our
software. There is a big mismatch between Scientific Linux 6.3 to Redhat 7.9
in terms of libraries, file structure and type of libraries between the
software and we have not been able to reconcile those.
I would appreciate any suggestion or advice on the best upgrade path to achieve
this update and would be happy to take recommendations on individuals or
companies who might be interested in a professional service engagement to help
solve the problem.
Thanks in advance