Backward Compatibility of RHEL Advanced Server and GCC

George Magklaras georgios at biotek.uio.no
Wed Oct 29 11:24:56 UTC 2008


Generally speaking, from my porting experienience, glibc and other 
libraries create compatibility problems, although this varies from 
application to application. I would definitely expect some problems, but 
there are ways to manage them:

1)Do an ldd of the binary(ies) of your application on the RHEL 3 system 
and map out the library dependencies:

[root at cn1 myapp]# ldd myapp
         libdl.so.2 => /lib64/libdl.so.2 (0x000000351f200000)
         libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003522e00000)
         libz.so.1 => /usr/lib64/libz.so.1 (0x000000351fa00000)
         libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000000352e400000)
         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000351f600000)
         libm.so.6 => /lib64/libm.so.6 (0x000000351ee00000)
         libc.so.6 => /lib64/libc.so.6 (0x000000351ea00000)
         /lib64/ld-linux-x86-64.so.2 (0x000000351e600000)
         libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000352cc00000)

This step will help you locate the exact library dependencies your 
binary has.

2)Examine the version of the respective libaries in RHEL 5.

3)Attempt to compile the binary and see what happens. Most new libraries 
are designed to be backwards compatible to the older version of the 
libraries, but certain lib version checks on the configure and make 
scripts might stop the compilation process. You might have to tweak them 
and see whether it compiles properly.

4)If all else fails, you can always install the RHEL xen kernel and host 
a guest RHEL 3 OS there? Have you examined that possibility? You could 
then run the hypervisor (and other apps) on the latest RHEL version and 
maintain full compatibility with the binary requirements.


If I were you, I would do either 4, or ask the software vendor to supply 
a new version for RHEL 4/5, if possible.

GM

-- 
--
George Magklaras

Senior Computer Systems Engineer/UNIX Systems Administrator
EMBnet Technical Management Board
The Biotechnology Centre of Oslo,
University of Oslo
http://folk.uio.no/georgios

S. Suhasini wrote:
> Hello,
> 
>  
> 
> We have an older setup of our software with the following details: 
> 
>  
> 
> - OS release - RHEL AS release 3
> 
> - Gcc - 2.96
> 
> - Kernel - 2.4.21-4.EL
> 
> - Glibc - 2.3.2-95.3
> 
> - Binutils - 2.14.90.0.4
> 
> - Selinux - not present
> 
>  
> 
>  
> 
> And we would like to replace the existing setup with new version of our
> software which was developed on the following environment
> 
>  
> 
> - OS release - RHEL server release 5
> 
> - Gcc - 4.1.1 
> 
> - Kernel - 2.6.18-8.el5
> 
> - Glibc - 2.5-12
> 
> - Binutils - 2.17.50.0.6-2.el5
> 
> - Selinux - disabled
> 
> - Using Log4cxx version 0.10.0
> 
>  
> 
>  
> 
> We would like to know whether the new version of the software (compiled with
> the new GCC) can be deployed and run on the older setup with RHEL AS 3 and
> GCC 2.96. We need not compile again on the older setup. Will there be any
> run-time libraries dependency? Would be very grateful if we get a response
> for this query.
> 
>  
> 
>  
> 
> Thanks,
> 
>  
> 
> Suhasini.
> 







More information about the redhat-list mailing list