Binary compatibility conditions

The goal of binary compatibility is to allow applications created on earlier releases or technology levels to run unchanged and without recompilation on later releases or technology levels. The ability to run applications created on earlier versions of an operating system on a later level of the operating system is known in the IT industry as backward compatibility. Binary compatibility on any platform requires that the application use only portable programming techniques. A list of some non-portable programming techniques is detailed below.

AIX binary compatibility

AIX 6 is designed so that applications created on AIX 5L™ V5.1, V5.2, and V5.3 operating systems can be executed on AIX V6.1 without recompilation. AIX 6 is designed to support POWER4™, POWER5™, POWER6™, POWER7™ and PPC970 processor systems that implement the Power Architecture platform reference architecture.

Any program that must run in all processor environments supported by AIX 6 must be compiled using the common mode or PowerPC® option of the compiler. Programs that were compiled using the original POWER mode do not need to be recompiled to operate on the supported AIX 6 processors.

Historically, few clients or ISVs have reported binary compatibility issues when moving from one release of AIX 5L to the next. We anticipate similar results for the move to AIX 6.

All statements regarding IBM’s future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only.

Restrictions on AIX binary compatibility

As stated earlier, binary compatibility on any platform requires that application use only portable programming techniques such as only using published interfaces and avoiding programming techniques that are processor or AIX release specific.

AIX does not support the execution of binaries created on later releases or technology levels of AIX on an earlier release or technology level of AIX. For example, execution of binaries created on AIX V5.3 OS would not be supported on a system running AIX V5.1 OS.

Non-portable programming techniques

Some examples of non-portable programming techniques that may affect binary compatibility include:

Applications running on AIX releases with long usernames enabled

The AIX 5.3 and AIX 6 operating systems can be configured to accommodate user and group names exceeding 8 characters. Applications which have not been specifically structured to handle long user and group names and which use legacy security library interfaces with 8-character name limits or which depend on user and group names not exceeding 8 characters in length may not work correctly on systems which have been enabled for long user and group names. AIX 5.3 and AIX 6 commands which display user and group names will truncate user and group names to 8 characters to accommodate existing use unless command-specific options are used to display long user and group names.

Legacy Security Library Interface Long Username-Enabled Alternative
ckuserID() authenticatex()
cuserid() getpwuid()
getuinfo() getuinfox()
getuinfo_r() getuinfox()
getuserpw() getuserpwx()
newpass() newpassx()
putuserpw() putuserpwx()
putuserwhist() putuserpwxhist()

Systems running the AIX 5.3 or AIX 6 operating systems should not be configured for long usernames if those systems are running applications that use security library interfaces unless the applications have been tested for long username support.

X11R5/X11R6 compatibility issues on AIX Version 6

The AIX V6 X-server uses the X-Consortium release 6 of X (commonly known as X11R6). The libraries shipped by IBM with X11R6 are backward compatible and the client applications that access these libraries work as on AIX V4 and V5. As on AIX V4 and V5, IBM will also ship X11R3, X11R4, X11R5 compatibility installation options for maximum flexibility.

The majority of applications using X fall into this category and will not cause any difficulty. However, a small number of X-applications use the loadable extension facility provided by the X-server.

The X-server allows for the addition of new functionality through its extension mechanism. For each extension, part of the extension is loaded into the X-server before it can be executed. X11R6 has modified how this mechanism works in the course of improvements to X, and it is this part of the extension that must be made compatible with X11R6 to execute properly. All extensions supplied by IBM have been made compatible. In some circumstances, you may have an extension that does not work with X11R6; for example:

In these cases, the extension needs to be made compatible with X11R6 before it executes properly. End user-developed extensions and sample X consortium extensions need to be recompiled with the X11R6 environment. For third-party extensions, contact the vendor for a X11R6-compatible update.

If you use non-IBM display adapters, you may also be using vendor supplied software specific to those devices that uses X11R6 server capabilities. If so, this software must be compatible with X11R6 to operate properly. Contact the vendor of the display adapter for this software.

IBM plans to provide a porting guide with AIX V6 to assist clients and vendors who develop adapters or extensions for AIX.

32-bit device drivers and kernel extensions

Beginning with AIX 6, the AIX operating system will simplify its kernel environment by providing only the 64-bit kernel. AIX 6 will maintain application binary compatibility with previous AIX versions as specified above, but device drivers and kernel extensions that are 32-bit only will not be supported on AIX 6. Dual-mode (32/64 bit) kernel extensions built on AIX 5 will continue to run on AIX 6 but only in 64-bit mode.

Application binary compatibility for specific prior AIX releases

Applications from AIX 5L releases

AIX 6 is designed so that 32-bit and 64-bit applications created on the AIX 5L OS V5.1, V5.2, and V5.3 can be executed on AIX 6 without recompilation as long as those applications do not use non-portable programming techniques such as are listed above.

32-bit applications from AIX Version 4 releases

32-bit applications compiled on the AIX V4 OS can be executed on AIX 6 as long as those applications do not use non-portable programming techniques such as are listed above.

64-bit applications from AIX Version 4 releases

Any 64-bit applications compiled on the AIX V4 OS are not binary compatible with the AIX V5 or AIX 6 operating systems. AIX 5 and AIX 6 are source compatible with for 64-bit applications created on AIX V4. These applications need to be recompiled on a system running the AIX V5 or AIX 6 OS.

Applications from AIX Versions 3

32-bit applications created on AIX V3.2 or later AIX 3 releases can be executed on AIX 6 without recompilation.

Application binary compatibility for IBM i releases

IBM i maintains binary compatibility between its conversion releases. There have been three conversion releases in the system's history: V1R1M0 (1988), V3R6M0 (1995) and 6.1 (2008). For i 6.1, programs with constituent modules created for releases V5R1M0 and later can be converted automatically by the system. Programs created for releases V4R5M0 and earlier can also be converted unless their creation data has been removed. Programs that cannot be converted must be recompiled from source.

Beginning with 6.1, IBM i supports Adaptive Code Generation (ACG), which allows the latest hardware features to be utilized without recompilation and without loss of efficiency on older processors. Programs created or converted on a system with a POWER6 or POWER7 processor will automatically use certain new hardware features. If those programs are moved to a system running a POWER5 processor, they are automatically converted before they are run, so that they use only hardware features available on all supported processors.

Application binary compatibility for Linux releases

SLES10 SP3 supports POWER7 systems in POWER6 (compatibility) mode. SLES 11 supports POWER7 systems natively by default (POWER7 mode). Partitions migrating from POWER6 systems to POWER7 systems will migrate in POWER6 (compatibility) mode. When restarted, the partitions will negotiate POWER7 mode if running SLES 11. POWER7 partitions must be in POWER6 (compatibility) mode to migrate to POWER6 systems.

Further guidelines on Linux application compatibility can be found at:

Contact an IBM Sales Specialist

Next generation applications for big data and analytics and cognitive computing are providing unprecedented insights into opportunities, threats and efficiencies. IBM Power Systems is at the forefront of delivering solutions to gain faster insights from analyzing both structured information and unstructured big data. With the secure, flexible and open platform of IBM Power Systems plus solutions and software, organizations can outpace their competitors by delivering faster services, providing differentiated offerings and turning operational cost into investment opportunity.

To draw insights and make better decisions, businesses rely on the secure, flexible and open platform of IBM Power Systems. Built with the first processor designed for big data workloads, the design of Power Systems combines the computing power, memory bandwidth and I/O in ways that are easier to consume and manage, building on strong resiliency, availability and security.

IBM Power Systems deliver flexibility and choice of operating systems to enable your business to support the next generation applications for big data and analytics and cognitive computing that are transforming how organizations work today. Whether running 1, 2, or all 3 - coupled with PowerVM, they maximize the benefit of Power Systems in your business.

Transform your business with Systems Software that enables virtualization, high availability, flexibility, security and compliance on Power Systems™. IBM’s integrated approach to developing Systems and Systems Software together delivers optimized results with Power Systems.

As an open innovation platform, Power Systems is optimized for big data and analytics performance and to deliver scale-out economics and security for the cloud. IBM and IBM Business Partner solutions exploit key capabilities in IBM Power Systems.

Over the last five years thousands of clients have migrated to IBM Power Systems for choice and flexibility. Learn how Power Systems has helped them revolutionise the way IT is developed and delivered, optimise for big data and analytics, and support private, public and hybrid offerings for scale-out or scale-up implementations all while improving business performance, reducing risk, and establishing a platform for growth.