- Set
NLSPATHin the agent wrapper so the IBM MQ client library can locate its own message catalogs. Previously,ibm_mqcheck errors and other MQ client errors rendered as unreadable generic text (e.g.AMQ9211E: Failed to find error message id) instead of the real message, because the agent process only had AIX's defaultNLSPATH(/usr/lib/nls/msg/...), which doesn't include MQ's catalog directory. - Bump the embedded Python from 3.13.12 to 3.13.14, matching the version used by the Linux omnibus/bazel build
- Build embedded OpenSSL with the same hardening flags as the Linux omnibus/bazel build (
no-idea no-mdc2 no-rc5 no-ssl3 no-gost no-filenames, dynamic zlib loading) — the AIX build previously shipped OpenSSL with default settings, retaining legacy/weak algorithms and the GOST engine that Linux deliberately strips - Add a
/usr/bin/datadog-agentconvenience symlink to the agent wrapper on install, matching the Linux packages - Fix
/var/log/datadogpermissions: it was left world-readable (default0755) after install instead of the restrictive0750(owner/groupdd-agent) used on other platforms - Disable Python's
dbmC-extension backends (dbm.gnu/dbm.ndbm) to match the Linux omnibus/bazel build, which links no dbm backend either;gdbmis no longer staged into the embedded tree
- Bundle the
processcheck in the AIX package so operators can monitor processes by name without any manual install step; the check uses thepsutillibrary already included in the embedded Python - Fix
ibm_mqcheck queue discovery on AIX: patchpymqi'sMQENC_NATIVEconstant from0x222(little-endian) to0x111(big-endian) after install. The constant is generated from Linux headers and causedMQRCCF_CFH_LENGTH_ERRORwhen the check sent PCF commands to a local MQ queue manager. - Build scripts: remove all hardcoded
/opt/datadog-agentsource-tree references —AGENT_SRCis now auto-resolved by walking up from the script directory to the nearest.gitancestor, so the agent source can live at any path on the build host - Remove the obsolete packaged integration constraints artifact from the AIX BFF package
- Remove
sharedlibrarycheckfrom the AIX agent build (the shared-library check loader was included but not validated on AIX) - The embedded
python3.13binary and all Python extension modules now have the correct install-time library search path baked into their XCOFF loader section. Previously, the staging path was baked in, causinglibpython3.13.so could not be loadedwhen running pip or python directly (withoutLIBPATHset). Operators can now runpip installwithout settingLIBPATHfirst.
- Remove static libraries (
libz.a,libbz2.a) from the installed package to avoid conflicts when installing Python C extensions with pip - Agent and trace-agent wrappers now append the caller's
LIBPATHto the agent's own library search path, so operator-set paths (e.g. custom driver directories) are visible to the agent at runtime pip installfor C extensions (e.g.ibm_dbfor the DB2 check) no longer requires GCC 8 specifically; the embedded Python now records the compiler asgccso any GCC version in the customer's PATH is used- Agent and trace-agent wrappers include the
ibm_dbclidriver path (embedded/lib/python3.13/site-packages/clidriver/lib) in LIBPATH so theibm_db2check can loadlibdb2at runtime afterpip install ibm_db - Bundle
pymqiin the package so theibm_mqandibm_acechecks work out of the box (no manualpip installrequired); IBM MQ Client 9.1+ must be installed on the target host at runtime - Go checks: bundle
conf.yaml.exampleandconf.yaml.defaultfrom integrations-core for all Go checks that have them, supplementing the agent-repo config (agent-repo takes precedence on filename conflicts) - Keep Python headers (
embedded/include/) in the package so users can build C extension packages (e.g.ibm_dbfor the DB2 check) against the embedded Python, matching Linux/macOS omnibus behaviour - Include missing Go check configurations in the package:
cisco_sdwan,snmp,cloud_hostinfo,discovery,telemetry,versa— these checks are compiled into the agent binary but their config files were missing fromAIX_CORECHECKS - Fix SQLite build: link with
-lmwhenSQLITE_ENABLE_MATH_FUNCTIONSis enabled - Fix Go agent/trace-agent build: unset
OBJECT_MODEbefore invoking the Go external linker in stage 04 (OBJECT_MODE=64andAIX_OBJECT_MODE=64exported simultaneously cause the linker to pick up the 32-bitcrt0.o) - Include
final_constraints-py3.txtin the BFF package at/opt/datadog-agent/final_constraints-py3.txt - Fix Python entry-point script shebangs in the embedded tree (was pointing to build-host staging path, causing "No such file or directory" when running
pipor other scripts post-install) - Upgrade embedded pip from 24.0 to 26.1 (patches CVE-2026-1703, CVE-2026-6357)
- Set
GOMEMLIMIT=2GiBon build hosts with less than 6 GiB RAM to prevent Go compiler swap thrash (grouped with the existing-p=1flag for the same reason)
Note:
datadog-agent-7.80.0-devel.git.446.66c9b62-18.aix.ppc64.bffand all older builds predate this changelog and do not have entries.