Restrictions for AIX binary compatibility
Applications must use only portable programming techniques for binary compatibility on any platform.
If you create the binary code on a release of the AIX® operation system, you cannot run the same binary code on an earlier version of the AIX operation system. For example, if you created the binary code on AIX 7.3, you cannot run the same binary code on AIX Version 7.1.
Non-portable programming techniques
- Applications that are compiled by using a processor-specific compiler option but are run on models other than that processor.
- Applications that use AIX APIs or data structures that are not documented in the IBM® Documentation for AIX.
- Legacy security library interfaces in which long user names are enabled.
- Non-shared compiles of AIX-shared libraries.
- X11R5 Server Extensions
- Locales based on IBM-850 code sets
Components that are ported to the AIX operating system based on open source technologies
IBM might choose to update components based on open source technologies with newer versions from the community throughout the life of an AIX release. The AIX is unable to guarantee binary compatibility between versions of components based on open source technologies. IBM might choose to remove components based on open source technologies during the life of the AIX release.
- Python
- Perl
- Bash
Applications with long user names enabled
AIX Versions 7.1, 7.2, and 7.3 can be configured to accommodate user names and group names that exceed 8 characters. These versions of the AIX operating system should not be configured for long user names if the systems are running applications that use security library interfaces unless the applications have been tested for long user name support.
- Applications that are not structured to handle long user and group names.
- Applications that use legacy security library interfaces with 8-character name limits.
- Applications that depend on user names and group names not exceeding 8 characters in length.
Legacy security library interface long | User name enabled alternative |
---|---|
ckuserID() | authenticatex() |
cuserid() | getpwuid() |
getuinfo() | getuinfox() |
getuinfo_r() | getuinfox() |
getuserpw() | getuserpwx() |
newpass() | newpassx() |
putuserpw() | putuserpwx() |
putuserwhist() | putuserpwxhist() |
X11R5/X11R6 compatibility issues on AIX Version 7.3
The AIX Version 7. X Window System libraries, headers, and some apps were updated to X-Consortium release 7.1 version of X (X11R7.1), which is considered binary compatible to X11R5 and X11R6. Therefore, any applications that could run on X11R5/X11R6 must run on X11R7.1, with no problems.
- X11.compat.lib.X11R5
- X11.compat.lib.X11R3
- X11.compat.lib.X11R4
- X11.compat.lib.X11R6
The AIX X server uses the X Consortium release 6 version of X (X11R6).
- Sample extensions that are downloaded from the X-Consortium FTP site.
- User developed extension.
- Third-party extension
If you are using non-IBM display adapters, you might also be using vendor supplied software specific to those devices that uses X11R6 server capabilities. In this scenario, the software must be compatible with X11R6 to operate properly. Contact the vendor of the display adapter for the software.
For more detailed information about the AIX Windows runtime environment, refer to the /usr/lpp/X11/README, file that is installed by X11.base.rte fileset.
32-bit device drivers and kernel extensions
- Device drivers and kernel extensions that are only 32-bit are not supported on AIX Versions 7.1, 7.2, and 7.3.
- Dual-mode (32-bit and 64 bit) kernel extensions that are built on AIX 5L can run only in 64-bit mode on AIX Versions 7.1, 7.2, and 7.3.