Migration of a C++ application to a newer server with latest Redhatlinux version

Hi,
I need to move an application on a redhatlinux to another server having latest redhatlinux version( details of the version is unknown for the moment). The C++ program need to be recompiled for this.
Could someone please let me know about the kind of issues can forseen with respect to the C++ code and the system impacts.
Do we need to do some modification on the Linux Kernal or system level or fixing the application will help..

Please comment if someone having experience on it.

Thanks
Not sure why this got reported, so anyway....
rekhapankajam wrote:

Hi,
I need to move an application on a redhatlinux to another server having latest redhatlinux version( details of the version is unknown for the moment). The C++ program need to be recompiled for this.
Could someone please let me know about the kind of issues can forseen with respect to the C++ code and the system impacts.
Do we need to do some modification on the Linux Kernal or system level or fixing the application will help..

Please comment if someone having experience on it.

Thanks

The first question is, are the architectures of the two machines the same (eg x86_64).
If they're the same, you might not even need to recompile.

Even if the old architecture is say i386 and the new one is x86_64, you should be able to install a compatibility layer.

You would only need to recompile if the architectures are completely different, like going from i386 to ARM.

You might like to recompile anyway to get the benefit of new optimisations in a newer compiler.

The downside is though, recompiling often flushes out lots of hidden bugs.
This is especially true the first time you try it.

The upside of having done it though is that the code will be improved.

> Do we need to do some modification on the Linux Kernal or system level
What does your application do?
If it only depends on established and common place API's like POSIX, then you should be fine.
But if it depends on some bespoke kernel driver for some bespoke hardware, then yes.
Last edited on
My suggestion is to just sandbox it.
make a new machine with the new OS and then try the dumb way (just stick the program on and see if it works, test it a lot, while leaving the old system in place for now). If it does not work, then try, if possible, rebuilding it from scratch and testing that. If its not one you can rebuild, then you have to figure out why it does not work -- forums, support of the software, etc. If the older system is REALLY old, rebuilding it may make a better executable (compiler sets it up for newer hardware better than running old machine code). If its really, really old, maybe there is a newer version you should consider?

Just take it slowly, test it to death, and once its working, repeat the steps you believe will get you there on the sandbox again. If it works, back up the real system and then give it a go.
Topic archived. No new replies allowed.