Bug 118740

Summary: Applications built using compat-gcc do not run on RH7.3
Product: [Fedora] Fedora Reporter: Darren Hiebert <darren.hiebert>
Component: compat-gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 1CC: barryn
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-10-29 09:43:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Darren Hiebert 2004-03-19 18:06:58 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040211 Firefox/0.8

Description of problem:
According to the description of compat-gcc:

    This package includes a compiler that can be to generate binaries 
    that will run on older Red Hat Linux systems (namely Red Hat Linux 
    7.3). This package includes the C compiler and required compiler 
    libraries for those systems.

Despite this, application compiled using compat-gcc will not run on
RH7.3 in general. Nor are RH7.3-compatible libraries included in the
compat-gcc RPM. The "compatible" compiler still links against
glibc-2.3, which is not present on RH7.3.


Version-Release number of selected component (if applicable):
compat-gcc-7.3-2.96.118

How reproducible:
Always

Steps to Reproduce:
1. Create a file, no_rh7.c, containing the following text:
#include <ctype.h>
main ()
{
    int t = tolower ('T');
    printf ("%chis works!\n", t);
}

2. Compile the file as follows: gcc296 -O3 -o no_rh7 no_rh7.c
3. Execute this command to see that the binary is linked against
glibc-2.3: nm no_rh7 | grep GLIBC_2.3
4. Try to run this binary on RH7.3 to see it fail.
    

Actual Results:  Executable will not run on RH7.3, because it is
linked against glibc-2.3.

Expected Results:  Executable should run on RH7.3 (should not be
linked against glibc-2.3).

Additional info:

Comment 1 Barry K. Nathan 2004-07-14 09:33:02 UTC
Replace step 2 with:
gcc296 -I /usr/lib/i386-redhat-linux7/include \
-B /usr/lib/i386-redhat-linux7/lib/ -O3 -o no_rh7 no_rh7.c

That works for me. (If this doesn't work for you, make sure you have
the compat-glibc package installed.)

Comment 2 Darren Hiebert 2004-07-14 14:06:03 UTC
I have been running Fedora Core 2 since submitting this bug report,
but still observe the same behavior as reported.

Sorry, but as far as I can tell there is no such package as
"compat-glibc" available for Fedora Core 2. Executing "apt-cache
search compat", I see only the following related packages:

compat-gcc
compat-gcc-c++
compat-gcc-g77
compat-gcc-java
compat-gcc-objc
compat-libgcj
compat-libgcj-devel
compat-libstdc++
compat-libstdc++-devel 

Perhaps you could clarify what you mean by the "compat-glibc" pacakge.
I was under the impression that compat-gcc included a
backward-compatible libc.

Comment 3 Barry K. Nathan 2004-07-14 14:21:54 UTC
Ok, that's a whole different issue -- there's a compat-glibc package
for RHEL 3, but not for Fedora Core 2.

Here's the URL for the compat-glibc package from Tao Linux (a RHEL
clone). You can try it and see if it works on FC2:
http://dist.taolinux.org/tao-1.0-i386/RPMS.os/compat-glibc-7.x-2.2.4.32.5.i386.rpm

As far as I understand: compat-gcc does not include any kind of libc.
The development headers, etc. for the old glibc are in the
compat-glibc package. Backward compatibility for old binaries is
included in the current glibc (that is, there are no separate packages
for that functionality).

Does that clear things up?

Comment 4 Jakub Jelinek 2004-10-29 09:43:59 UTC
compat-glibc is not going to be provided in FC, I don't see the demand
for it.  If you want to build apps for an older system, just use
that older system.

Comment 5 Michal Szymanski 2005-01-19 10:50:57 UTC
If so, what is the idea of keeping other compat-* packages in FC?


Comment 6 Barry K. Nathan 2005-01-19 17:58:48 UTC
Sometimes people need to be able to build older software on newer
distributions using older compilers. That's the usefulness of
compat-gcc IMO. I don't know enough about the other compat-* packages
however.