public inbox for [email protected]  
help / color / mirror / Atom feed
From: AIX PG user <[email protected]>
To: [email protected]
Cc: AIX PG user <[email protected]>
Subject: Re: AIX support
Date: Mon, 10 Nov 2025 17:00:13 +0000
Message-ID: <176279401378.2081919.12877701948713975661.pgcf@coridan.postgresql.org> (raw)
In-Reply-To: <[email protected]>
References: <CY5PR11MB63928CC05906F27FB10D74D0FD322@CY5PR11MB6392.namprd11.prod.outlook.com>
	<[email protected]>

Hi Peter,
>> Those changes to the meson.build files were not needed before
>> AIX support was removed.  You should find a way to do it without these
>> changes.

The change was necessary to ensure that the import file used during the static
PostgreSQL library build begins with the required #! directive and includes the
correct symbol references from the object files. This structure is essential
for compatibility with AIX's linking behaviour, which relies on explicitly
defined symbol import files during static linking. Without this adjustment, the
build process may fail or result in incomplete symbol resolution, particularly
on AIX systems. By aligning the import file format and symbol inclusion with
platform-specific requirements.

We referred to previously removed code that handled similar logic and found it
to be effective. Based on this, we plan to revert the changes in the affected
files and proceed with a more robust solution.

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0b16bb8776bb834eb1ef8204ca95dd766...
src/backend/jit/llvm/meson.build
src/backend/replication/libpqwalreceiver/meson.build
src/backend/replication/pgoutput/meson.build
src/backend/snowball/meson.build
src/backend/utils/mb/conversion_procs/meson.build

Regarding the archiving of shared and static libraries, the latest version of
Meson raises a conflict as both targets have the same name. This issue
arises because, on AIX, both shared and static libraries are named as same
archive, which leads to naming collisions during the build process. We
would still need the below changes.

src/interfaces/ecpg/compatlib/meson.build
src/interfaces/ecpg/ecpglib/meson.build
ecpglib_st = static_library(libname,
src/interfaces/ecpg/pgtypeslib/meson.build
	ecpg_pgtypes_st = static_library(libname,
src/interfaces/libpq/meson.build
	libpq_st = static_library(libname


>> The changes in src/include/port/aix.h in your patch don't make sense.
>> This indicates that you are doing something wrong in your local builds.
>> Please fix that.

We had to do these changes in the src/include/c.h, 
As the MACROS, are getting undefined by the below sys header files.


We made changes to src/include/c.h because certain macros were being 
undefined by the system header files listed below. To address this issue, 
we introduced updates in aix.h.
+#ifndef PGDLLIMPORT +#define PGDLLIMPORT

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>

We are continuing to analyze the impact of these changes and will refine 
the solution as needed. Once finalized, we will submit the updated changes accordingly.

-Sriram.

view thread (73+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: AIX support
  In-Reply-To: <176279401378.2081919.12877701948713975661.pgcf@coridan.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox