RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 614291 - In which major releases are APIs and ABIs preserved?
Summary: In which major releases are APIs and ABIs preserved?
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Deadline: 2011-03-20
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: doc-Developer_Guide
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Jacquelynn East
QA Contact: ecs-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-14 03:15 UTC by Masahiro Ito
Modified: 2015-07-26 22:09 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-24 05:33:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
pdf version of latest dev guide (2.36 MB, application/pdf)
2010-10-12 19:00 UTC, Benjamin Kosnik
no flags Details

Description Masahiro Ito 2010-07-14 03:15:15 UTC
Description of problem:

In 3.1. Compatibility, you just mentioned preservation of APIs and ABIs between RHEL 5 and 6.

---- From Development Guide -----------------------------------------
Red Hat Enterprise Linux maintains a core set of libraries whose APIs and ABIs are preserved for each architecture across major releases (e.g. between Red Hat Enterprise Linux 5 and 6).
---------------------------------------------------------------------

Can you add other RHEL versions like RHEL 3 and 4?

I think a lot of users who are going to move from older RHEL version will care about this.

Version-Release number of selected component (if applicable):

Revision 1.0 Thu Oct 08 2009

According to http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6-Beta/ , the date is June 2010.

Comment 3 Benjamin Kosnik 2010-09-30 16:01:05 UTC
Hey I updated the gcc/compat and lib/compat bits of the docs based on feedback from various parties. This should be clearer now.

Comment 7 Benjamin Kosnik 2010-10-12 19:00:32 UTC
Created attachment 453016 [details]
pdf version of latest dev guide


This has the new ABI/API layout. Some of the details still need to be added.

Comment 8 Masahiro Ito 2010-10-21 08:02:41 UTC
Hi Benjamin,

It's become much clearer, but can I clarify one more thing here?


In "3.2.3.2. Compatibility Between Major Releases," it tells:

Red Hat Enterprise Linux 6 provides runtime compatibility support for applications built for Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 4.


But in Section 3.3.2. "The GNU C++ Standard Library," I found this statement:

As the C++ language and runtime implementation has remained stable throughout Red Hat Enterprise Linuxes 4, 5, and 6, no compatibility libraries are needed for libstdc++. However, combatability libraries compat-libstdc++-296 for Red Hat Enterprise Linux 2.1 and compat-libstdc++-33 for Red Hat Enterprise Linux 3 are provided for support.


This statement seems confusing, because some might think that RHEL6 offers compatibility for C++ applications built for RHEL 2 or 3. But if so, it conflicts with the former statement.

Can you tell me which statement is prior?
I guess the former is prior to the latter, and if so, can you add some description about compat-libstdc++, such as compat-libstdc++-296 and compat-libstdc++-33 are not officially supported?

Comment 9 Don Domingo 2010-11-23 02:13:22 UTC
reassigning to Benjamin for clarification.

Comment 12 Benjamin Kosnik 2011-03-23 20:56:02 UTC
Masahiro, just saw comment #8. Not quite sure of the current wording, but RHEL6 is compatible with RHEL5 and RHEL4 without installing any additional compatibility libraries. 

On RHEL6, you can install compat-libstdc++33 for RHEL3 compat. It is not there by default.

On RHEL6, you can install compat-libstdc++296 for RHEL2 compat. It is not there by default.

Hopefully this makes it the situation clearer for you. I defer to the editor on the exact wording.

Comment 14 Masahiro Ito 2011-04-04 09:21:50 UTC
Benjamin, technically, I see your point, but my concern is about support policy.

Red Hat assures compatibility across three major versions, which means RHEL4 and RHEL5 applications work on RHEL6, but no assurance with RHEL3 and RHEL2 applications.

In other words, from technical point of view, RHEL6 has compat-libstdc++ libraries for RHEL2 and 3 compat. However, there seems to be no assurance for RHEL2 and 3 applications on RHEL6. Is that right?


If so, I'll announce a guideline for my customers and my coworkers like this. Every application developer for RHEL6 has to use RHEL4 and later for compiling their applications.

Comment 22 Siddharth Nagar 2011-05-10 14:34:47 UTC
Our official policy on compatibility is that we support the current release and two consecutive prior versions. Today that means RHEL 6, RHEL 5 and RHEL 4. Applications built on RHEL 4 and RHEL 5 will continue to run on RHEL 6 as long as they comply with our guidelines (using the symbols that we have  white-listed etc.). We have tried to provide some guidelines in the application compatibility white paper (link below).

Red Hat understands that as an enterprise platform customers rely on us for long-term deployment of their applications. For this reason, we continue to provide support for applications built against C/C++ libraries with the help of compatibility libraries for RHEL 2 and RHEL 3. RHEL 2 and RHEL 3 are no longer supported for the vast majority of our subscriber base. Customers are advised to plan their migration to a more current version of the libraries as Red hat cannot guarantee that they will be included for the full life of RHEL 6.

We need to refer to these references somewhere in the Developer Guide:

RHEL supported releases:
https://access.redhat.com/support/policy/updates/errata/

General RHEL compatibility policy:
https://www.redhat.com/f/pdf/rhel/RHEL6_App_Compatibility_WP.pdf


Note You need to log in before you can comment on or make changes to this bug.