Skip to content
Alexander Saprykin edited this page Sep 21, 2023 · 8 revisions

Configurations

Version Compilers Status Tests
7.3.0 (PPC64be) GCC 10.3.0 (PPC32, PPC64) Compiled Passed
7.3.0 (PPC64be) Open XL C 17.1.1 (PPC32, PPC64) Compiled Passed

AIX is a UNIX-like proprietary IBM's operating system. Usually you can get it only with the hardware from IBM.

Use LIBPATH variable if LD_LIBRARY_PATH is not working (could happen on AIX prior 5.3).

GCC

By default GCC compiles PPC32 binaries so you should explicitly pass -maix64 flag to compiler to produce PPC64 binaries. If you are building a static library you should also pass -X64 option to the AIX native linker, but for the some reasons CMake puts CMAKE_STATIC_LINKER_FLAGS (introduced in 2.8.10) variable in wrong order (it should be passed before cr parameters). See this answer to make it work properly.

More information about compiling programs with GCC on AIX can be found in this article. Also lot of useful information regarding AIX development is presented in the free book "Developing and Porting C and C++ Application on AIX".

Consider using modern versions of CMake as they provide better support for AIX. As AIX Toolbox for Open Source Software installs to /opt/freeware, it is recommended to add its binary directory to the PATH variable. Additionally, environmental variable OBJECT_MODE shall be set up to either 32 or 64, depending on the target architecture.

Open XL C

Use variable OBJECT_MODE to switch between target architecture, and modern CMake (3.23+) to recognize the compiler properly.

Support

GCC Compile Farm kindly provides access to AIX machines for testing and development.

Clone this wiki locally