From my nmon and njmon experience, I would just compile to the latest AIX 7.3 TL and sp or one version back if you don't want to upgrade every time.
- Of course, avoid any new functions and features, such as those delivered in a recent TL.
- A decade ago, the libperfstat library was improved for every TL = a nightmare, if you wanted the newer stats. But now it has been stable for many years, so a single binary covers AIX 7.1, 7.2, and 7.3.
- For the VIOS, I have to create a different binary as the VIOS has extra virtual resource functions. If I include these, the program does not run on "pure" AIX because it detects missing VIOS functions at startup.
Then run a quick test on older AIX releases. If there is a problem, your program will probably fail to start at all due to library mismatches. If it starts up, it will probably work fine.
For njmon The AIX 7.3 binary runs fine on AIX 7.2.
Users will prefer one binary that works on AIX 7.2 and AIX 7.3 - so only have two binaries, if you are forced to.
No need to have a security scanner program for AIX 7.1 or older.
- If the user is running these releases, then they do not care about security at all! :-)
I compile with the latest GCC compiler from the open source toolbox - it saves all that mucking around with licenses.
If you need extreme performance, then the more advanced compilers might help or might not.
I hope this helps, N
------------------------------
Nigel Griffiths - IBM retired
London, UK
@mr_nmon
------------------------------
Original Message:
Sent: Tue March 31, 2026 05:53 AM
From: Florian Roth
Subject: Best practice for TL/SP coverage when building AIX binaries
Hi all,
Question on TL/SP compatibility best practices for AIX 7.2/7.3.
We're building an on-prem security scanner for AIX. The core is Go, but we ship a C dependency (YARA) as part of it. We're trying to decide how to structure build/test environments to maximize compatibility across TL/SP levels.
• If we build on an older TL/SP (baseline), is it generally safe to expect it to run on newer TL/SP within the same AIX major version?
• Conversely, if we build on a newer TL/SP, how often do you see binaries fail on older TL/SP due to runtime/library differences?
• Is "build on oldest supported TL/SP, test on oldest + current" the usual approach?
Example oslevel strings we currently see in IBM Cloud:
• AIX 7.3: 7300-03-00-2446
• AIX 7.2: 7200-05-11-2546
Any gotchas around linking (static vs dynamic) or common library mismatches would be helpful.
------------------------------
Florian Roth
CTO
Nextron Systems
Frankfurt
------------------------------