public inbox for [email protected]
help / color / mirror / Atom feedFrom: Srirama Kucherlapati <[email protected]>
To: Heikki Linnakangas <[email protected]>
To: [email protected] <[email protected]>
Cc: Robert Haas <[email protected]>
Cc: Bruce Momjian <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Cc: Laurenz Albe <[email protected]>
Cc: Noah Misch <[email protected]>
Cc: Michael Paquier <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Thomas Munro <[email protected]>
Cc: [email protected] <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Tristan Partin <[email protected]>
Cc: wenhui qiu <[email protected]>
Cc: [email protected] <[email protected]>
Subject: RE: AIX support
Date: Wed, 3 Sep 2025 16:44:00 +0000
Message-ID: <SJ4PPFB817783269FCAF7AC4F7486BEE3E5DB01A@SJ4PPFB81778326.namprd15.prod.outlook.com> (raw)
In-Reply-To: <CY8PR15MB5602FE7D86B5C56CBF3E0268DBB22@CY8PR15MB5602.namprd15.prod.outlook.com>
References: <CY5PR11MB639218D04CFAED0FC09ED9DFFDED2@CY5PR11MB6392.namprd11.prod.outlook.com>
<CY8PR15MB56026092DF51E9D300557B5ADB022@CY8PR15MB5602.namprd15.prod.outlook.com>
<[email protected]>
<CY8PR15MB56027303B385970CEBF22107DBF12@CY8PR15MB5602.namprd15.prod.outlook.com>
<CY8PR15MB5602D669251C0A50BA018C96DBD52@CY8PR15MB5602.namprd15.prod.outlook.com>
<CA+TgmoZf2nGA5QJFreLFmeWngvZdbCcZR7aw00vxnwr0mCiK4A@mail.gmail.com>
<DS0PR15MB56239360EB759C70AC514845DBDF2@DS0PR15MB5623.namprd15.prod.outlook.com>
<CAGjGUAJxeYgZR1JLs3o3Lc6wsmDiHK5s3OAq8obJnk+9c9nE0g@mail.gmail.com>
<CY8PR15MB560263740FABD624904C4923DBAE2@CY8PR15MB5602.namprd15.prod.outlook.com>
<[email protected]>
<CY8PR15MB56020EB4076E7AACBE4A78A7DBA92@CY8PR15MB5602.namprd15.prod.outlook.com>
<[email protected]>
<CY8PR15MB5602EADE20375FB66090B61BDBA82@CY8PR15MB5602.namprd15.prod.outlook.com>
<[email protected]>
<CY8PR15MB5602357AD26C9BD7C612A9E8DBB12@CY8PR15MB5602.namprd15.prod.outlook.com>
<CY8PR15MB5602FE7D86B5C56CBF3E0268DBB22@CY8PR15MB5602.namprd15.prod.outlook.com>
Hi Heikki and team,
As part of our ongoing efforts to enhance AIX platform compatibility, we’ve been running the code across all stable PostgreSQL release branches using the build farm infrastructure. All test suites, including TAP tests, are passing consistently, indicating no regressions.
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=douc&br=REL_13_STABLE
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=douc&br=REL_14_STABLE
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=douc&br=REL_15_STABLE
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=douc&br=REL_16_STABLE << Also tested locally.
To further validated the patch, we executed the build farm scripts locally for PostgreSQL 17 and 18 on AIX. The corresponding test results are attached for reference.
We value your feedback and would appreciate your insights on the attached patch. Kindly request you to review and share your comments.
Warm regards,
Sriram.
Sun Aug 10 22:34:32 2025: buildfarm run for urus:REL_16_STABLE starting
urus:REL_16_STABLE [22:34:43] checking out source ...
running git clone -q /home/pgdev/bfarm/build-farm-19.1.16/buildroot/pgmirror.git "/home/pgdev/bfarm/build-farm-19.1.16/buildroot/HEAD/pgsql"
urus:REL_16_STABLE [22:41:18] checking if build run needed ...
urus:REL_16_STABLE [22:41:18] copying source to pgsql.build ...
urus:REL_16_STABLE [22:41:27] running configure ...
urus:REL_16_STABLE [22:42:11] running build ...
urus:REL_16_STABLE [22:53:07] running basic regression tests ...
urus:REL_16_STABLE [22:54:23] running make contrib ...
urus:REL_16_STABLE [22:55:29] running make testmodules ...
urus:REL_16_STABLE [22:55:39] running install ...
urus:REL_16_STABLE [22:56:09] running make contrib install ...
urus:REL_16_STABLE [22:56:19] running testmodules install ...
urus:REL_16_STABLE [22:56:24] running make check miscellaneous modules ...
urus:REL_16_STABLE [22:57:41] running bin test initdb ...
urus:REL_16_STABLE [22:57:52] running bin test pg_amcheck ...
urus:REL_16_STABLE [22:58:11] running bin test pg_archivecleanup ...
urus:REL_16_STABLE [22:58:12] running bin test pg_basebackup ...
urus:REL_16_STABLE [22:59:02] running bin test pg_checksums ...
urus:REL_16_STABLE [22:59:09] running bin test pg_config ...
urus:REL_16_STABLE [22:59:09] running bin test pg_controldata ...
urus:REL_16_STABLE [22:59:12] running bin test pg_ctl ...
urus:REL_16_STABLE [22:59:31] running bin test pg_dump ...
urus:REL_16_STABLE [23:00:10] running bin test pg_resetwal ...
urus:REL_16_STABLE [23:00:15] running bin test pg_rewind ...
urus:REL_16_STABLE [23:01:49] running bin test pg_test_fsync ...
urus:REL_16_STABLE [23:01:50] running bin test pg_test_timing ...
urus:REL_16_STABLE [23:01:50] running bin test pg_upgrade ...
urus:REL_16_STABLE [23:02:55] running bin test pg_verifybackup ...
urus:REL_16_STABLE [23:03:57] running bin test pg_waldump ...
urus:REL_16_STABLE [23:04:01] running bin test pgbench ...
urus:REL_16_STABLE [23:04:13] running bin test psql ...
urus:REL_16_STABLE [23:04:20] running bin test scripts ...
urus:REL_16_STABLE [23:05:10] running test misc-recovery ...
urus:REL_16_STABLE [23:11:33] running test misc-subscription ...
urus:REL_16_STABLE [23:16:21] running test misc-authentication ...
urus:REL_16_STABLE [23:16:37] running misc test module-brin ...
urus:REL_16_STABLE [23:16:50] running misc test module-commit_ts ...
urus:REL_16_STABLE [23:17:15] running misc test module-ldap_password_func ...
urus:REL_16_STABLE [23:17:16] running misc test module-libpq_pipeline ...
urus:REL_16_STABLE [23:17:19] running misc test module-ssl_passphrase_callback ...
urus:REL_16_STABLE [23:17:23] running misc test module-test_custom_rmgrs ...
urus:REL_16_STABLE [23:17:26] running misc test module-test_escape ...
urus:REL_16_STABLE [23:17:29] running misc test module-test_misc ...
urus:REL_16_STABLE [23:17:43] running misc test module-test_pg_dump ...
urus:REL_16_STABLE [23:17:53] running misc test module-libpq ...
urus:REL_16_STABLE [23:18:04] running misc test module-pg_bsd_indent ...
urus:REL_16_STABLE [23:18:08] running contrib test amcheck ...
urus:REL_16_STABLE [23:18:36] running contrib test auto_explain ...
urus:REL_16_STABLE [23:18:43] running contrib test bloom ...
urus:REL_16_STABLE [23:19:03] running contrib test oid2name ...
urus:REL_16_STABLE [23:19:04] running contrib test pg_prewarm ...
urus:REL_16_STABLE [23:19:08] running contrib test test_decoding ...
urus:REL_16_STABLE [23:19:30] running contrib test vacuumlo ...
urus:REL_16_STABLE [23:19:31] setting up db cluster (C)...
urus:REL_16_STABLE [23:19:33] starting db (C)...
urus:REL_16_STABLE [23:19:33] running installcheck (C)...
urus:REL_16_STABLE [23:20:30] restarting db (C)...
urus:REL_16_STABLE [23:20:33] running make isolation check ...
urus:REL_16_STABLE [23:21:09] restarting db (C)...
urus:REL_16_STABLE [23:21:14] running make PL installcheck (C)...
urus:REL_16_STABLE [23:21:18] restarting db (C)...
urus:REL_16_STABLE [23:21:20] running make contrib installcheck (C)...
urus:REL_16_STABLE [23:25:29] restarting db (C)...
urus:REL_16_STABLE [23:25:31] running make test-modules installcheck (C)...
urus:REL_16_STABLE [23:26:31] stopping db (C)...
urus:REL_16_STABLE [23:26:32] running make ecpg check ...
urus:REL_16_STABLE [23:27:15] OK
Branch: REL_16_STABLE
All stages succeeded
Thu Aug 7 04:52:04 2025: buildfarm run for uruspg17:HEAD starting
branch not specified, locks, logs, build artefacts etc will go in HEAD
uruspg17:HEAD [04:52:54] running configure ...
uruspg17:HEAD [04:53:43] running build ...
uruspg17:HEAD [05:05:18] running basic regression tests ...
uruspg17:HEAD [05:10:34] running make contrib ...
uruspg17:HEAD [05:11:40] running make testmodules ...
uruspg17:HEAD [05:11:53] running install ...
uruspg17:HEAD [05:12:20] running make contrib install ...
uruspg17:HEAD [05:12:31] running testmodules install ...
uruspg17:HEAD [05:12:36] running make check miscellaneous modules ...
uruspg17:HEAD [05:13:34] running bin test initdb ...
uruspg17:HEAD [05:13:52] running bin test pg_amcheck ...
uruspg17:HEAD [05:14:17] running bin test pg_archivecleanup ...
uruspg17:HEAD [05:14:17] running bin test pg_basebackup ...
uruspg17:HEAD [05:15:31] running bin test pg_checksums ...
uruspg17:HEAD [05:15:37] running bin test pg_combinebackup ...
uruspg17:HEAD [05:16:55] running bin test pg_config ...
uruspg17:HEAD [05:16:55] running bin test pg_controldata ...
uruspg17:HEAD [05:16:58] running bin test pg_ctl ...
uruspg17:HEAD [05:17:18] running bin test pg_dump ...
uruspg17:HEAD [05:20:19] running bin test pg_resetwal ...
uruspg17:HEAD [05:20:28] running bin test pg_rewind ...
uruspg17:HEAD [05:22:29] running bin test pg_test_fsync ...
uruspg17:HEAD [05:22:30] running bin test pg_test_timing ...
uruspg17:HEAD [05:22:30] running bin test pg_upgrade ...
uruspg17:HEAD [05:30:39] running bin test pg_verifybackup ...
uruspg17:HEAD [05:31:43] running bin test pg_waldump ...
uruspg17:HEAD [05:31:51] running bin test pg_walsummary ...
uruspg17:HEAD [05:31:55] running bin test pgbench ...
uruspg17:HEAD [05:32:24] running bin test psql ...
uruspg17:HEAD [05:32:32] running bin test scripts ...
uruspg17:HEAD [05:33:29] running test misc-recovery ...
uruspg17:HEAD [05:47:05] running test misc-subscription ...
uruspg17:HEAD [05:52:54] running test misc-authentication ...
uruspg17:HEAD [05:53:20] running misc test module-brin ...
uruspg17:HEAD [05:53:39] running misc test module-commit_ts ...
uruspg17:HEAD [05:54:15] running misc test module-ldap_password_func ...
uruspg17:HEAD [05:54:15] running misc test module-libpq_pipeline ...
uruspg17:HEAD [05:54:20] running misc test module-ssl_passphrase_callback ...
uruspg17:HEAD [05:54:25] running misc test module-test_custom_rmgrs ...
uruspg17:HEAD [05:54:30] running misc test module-test_escape ...
uruspg17:HEAD [05:54:34] running misc test module-test_json_parser ...
uruspg17:HEAD [05:54:42] running misc test module-test_misc ...
uruspg17:HEAD [05:54:57] running misc test module-test_pg_dump ...
uruspg17:HEAD [05:55:18] running misc test module-worker_spi ...
uruspg17:HEAD [05:55:23] running misc test module-xid_wraparound ...
uruspg17:HEAD [05:55:24] running misc test module-libpq ...
uruspg17:HEAD [05:55:37] running misc test module-pg_bsd_indent ...
uruspg17:HEAD [05:55:40] running contrib test amcheck ...
uruspg17:HEAD [05:56:12] running contrib test auto_explain ...
uruspg17:HEAD [05:56:15] running contrib test bloom ...
uruspg17:HEAD [05:56:38] running contrib test oid2name ...
uruspg17:HEAD [05:56:39] running contrib test pg_prewarm ...
uruspg17:HEAD [05:56:45] running contrib test pg_stat_statements ...
uruspg17:HEAD [05:56:54] running contrib test pg_visibility ...
uruspg17:HEAD [05:57:01] running contrib test test_decoding ...
uruspg17:HEAD [05:57:24] setting up db cluster (C)...
uruspg17:HEAD [05:57:27] starting db (C)...
uruspg17:HEAD [05:57:27] running installcheck (C)...
uruspg17:HEAD [06:04:38] restarting db (C)...
uruspg17:HEAD [06:04:40] running make isolation check ...
uruspg17:HEAD [06:07:07] restarting db (C)...
uruspg17:HEAD [06:07:13] running make PL installcheck (C)...
uruspg17:HEAD [06:07:19] restarting db (C)...
uruspg17:HEAD [06:07:21] running make contrib installcheck (C)...
uruspg17:HEAD [06:12:56] restarting db (C)...
uruspg17:HEAD [06:12:59] running make test-modules installcheck (C)...
uruspg17:HEAD [06:14:37] stopping db (C)...
uruspg17:HEAD [06:14:37] running make ecpg check ...
uruspg17:HEAD [06:15:26] OK
Branch: HEAD
All stages succeeded
Thu Aug 7 01:40:13 2025: buildfarm run for uruspg18:HEAD starting
branch not specified, locks, logs, build artefacts etc will go in HEAD
uruspg18:HEAD [01:40:24] running configure ...
uruspg18:HEAD [01:41:12] running build ...
uruspg18:HEAD [01:53:12] running basic regression tests ...
uruspg18:HEAD [01:59:36] running make contrib ...
uruspg18:HEAD [02:00:47] running make testmodules ...
uruspg18:HEAD [02:01:03] running install ...
uruspg18:HEAD [02:01:30] running make contrib install ...
uruspg18:HEAD [02:01:43] running testmodules install ...
uruspg18:HEAD [02:01:48] running make check miscellaneous modules ...
uruspg18:HEAD [02:03:00] running bin test initdb ...
uruspg18:HEAD [02:03:21] running bin test pg_amcheck ...
uruspg18:HEAD [02:03:46] running bin test pg_archivecleanup ...
uruspg18:HEAD [02:03:47] running bin test pg_basebackup ...
uruspg18:HEAD [02:05:04] running bin test pg_checksums ...
uruspg18:HEAD [02:05:10] running bin test pg_combinebackup ...
uruspg18:HEAD [02:06:41] running bin test pg_config ...
uruspg18:HEAD [02:06:41] running bin test pg_controldata ...
uruspg18:HEAD [02:06:44] running bin test pg_ctl ...
uruspg18:HEAD [02:07:03] running bin test pg_dump ...
uruspg18:HEAD [02:11:41] running bin test pg_resetwal ...
uruspg18:HEAD [02:11:48] running bin test pg_rewind ...
uruspg18:HEAD [02:13:36] running bin test pg_test_fsync ...
uruspg18:HEAD [02:13:37] running bin test pg_test_timing ...
uruspg18:HEAD [02:13:37] running bin test pg_upgrade ...
uruspg18:HEAD [02:24:35] running bin test pg_verifybackup ...
uruspg18:HEAD [02:26:04] running bin test pg_waldump ...
uruspg18:HEAD [02:26:15] running bin test pg_walsummary ...
uruspg18:HEAD [02:26:20] running bin test pgbench ...
uruspg18:HEAD [02:26:52] running bin test psql ...
uruspg18:HEAD [02:27:02] running bin test scripts ...
uruspg18:HEAD [02:28:09] running test misc-recovery ...
uruspg18:HEAD [02:41:40] running test misc-subscription ...
uruspg18:HEAD [02:48:12] running test misc-authentication ...
uruspg18:HEAD [02:48:42] running misc test module-brin ...
uruspg18:HEAD [02:49:00] running misc test module-commit_ts ...
uruspg18:HEAD [02:49:34] running misc test module-injection_points ...
uruspg18:HEAD [02:49:34] running misc test module-ldap_password_func ...
uruspg18:HEAD [02:49:35] running misc test module-libpq_pipeline ...
uruspg18:HEAD [02:49:40] running misc test module-oauth_validator ...
uruspg18:HEAD [02:49:40] running misc test module-ssl_passphrase_callback ...
uruspg18:HEAD [02:49:45] running misc test module-test_aio ...
uruspg18:HEAD [02:50:02] running misc test module-test_custom_rmgrs ...
uruspg18:HEAD [02:50:06] running misc test module-test_escape ...
uruspg18:HEAD [02:50:11] running misc test module-test_extensions ...
uruspg18:HEAD [02:50:21] running misc test module-test_json_parser ...
uruspg18:HEAD [02:50:51] running misc test module-test_misc ...
uruspg18:HEAD [02:51:11] running misc test module-test_pg_dump ...
uruspg18:HEAD [02:51:35] running misc test module-test_slru ...
uruspg18:HEAD [02:51:39] running misc test module-worker_spi ...
uruspg18:HEAD [02:51:46] running misc test module-xid_wraparound ...
uruspg18:HEAD [02:51:47] running misc test module-libpq ...
uruspg18:HEAD [02:52:08] running misc test module-pg_bsd_indent ...
uruspg18:HEAD [02:52:12] running contrib test amcheck ...
uruspg18:HEAD [02:52:52] running contrib test auto_explain ...
uruspg18:HEAD [02:52:56] running contrib test basebackup_to_shell ...
uruspg18:HEAD [02:53:03] running contrib test bloom ...
uruspg18:HEAD [02:53:27] running contrib test oid2name ...
uruspg18:HEAD [02:53:28] running contrib test pg_stat_statements ...
uruspg18:HEAD [02:53:42] running contrib test postgres_fdw ...
Use of uninitialized value $ENV{"PG_TEST_EXTRA"} in pattern match (m//) at ./run_build.pl line 2510.
uruspg18:HEAD [02:54:02] running contrib test test_decoding ...
uruspg18:HEAD [02:54:25] running contrib test vacuumlo ...
uruspg18:HEAD [02:54:26] setting up db cluster (C)...
uruspg18:HEAD [02:54:29] starting db (C)...
uruspg18:HEAD [02:54:29] running installcheck (C)...
uruspg18:HEAD [03:03:12] restarting db (C)...
uruspg18:HEAD [03:03:14] running make isolation check ...
uruspg18:HEAD [03:05:52] restarting db (C)...
uruspg18:HEAD [03:06:00] running make PL installcheck (C)...
uruspg18:HEAD [03:06:06] restarting db (C)...
uruspg18:HEAD [03:06:08] running make contrib installcheck (C)...
uruspg18:HEAD [03:11:59] restarting db (C)...
uruspg18:HEAD [03:12:02] running make test-modules installcheck (C)...
uruspg18:HEAD [03:14:25] stopping db (C)...
uruspg18:HEAD [03:14:26] running make ecpg check ...
uruspg18:HEAD [03:15:16] OK
Branch: HEAD
All stages succeeded
Attachments:
[application/octet-stream] 0001-AIX-support.v9.patch (15.7K, 3-0001-AIX-support.v9.patch)
download | inline diff:
From 24e96d9849f3e6a6217a284aff717ad4d7f2d45a Mon Sep 17 00:00:00 2001
From: AIX-dev <[email protected]>
Date: Wed, 3 Sep 2025 09:37:14 -0500
Subject: [PATCH] AIX support.
---
Makefile | 2 -
configure | 37 +++++++++++++++---
configure.ac | 29 +++++++++++++-
src/Makefile.shlib | 29 ++++++++++++++
src/backend/Makefile | 20 ++++++++++
src/backend/port/aix/mkldexport.sh | 61 ++++++++++++++++++++++++++++++
src/backend/utils/error/elog.c | 2 +
src/include/port/aix.h | 4 ++
src/include/storage/s_lock.h | 48 +++--------------------
src/makefiles/Makefile.aix | 34 +++++++++++++++++
src/port/strerror.c | 2 +
src/template/aix | 7 ++++
12 files changed, 223 insertions(+), 52 deletions(-)
create mode 100755 src/backend/port/aix/mkldexport.sh
create mode 100644 src/include/port/aix.h
create mode 100644 src/makefiles/Makefile.aix
create mode 100644 src/template/aix
diff --git a/Makefile b/Makefile
index b363b2f2476..786424613ab 100644
--- a/Makefile
+++ b/Makefile
@@ -13,8 +13,6 @@
# AIX make defaults to building *every* target of the first rule. Start with
# a single-target, empty rule to make the other targets non-default.
-# (We don't support AIX anymore, but if someone tries to build on AIX anyway,
-# at least they'll get the instructions to run 'configure' first.)
all:
all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
diff --git a/configure b/configure
index 1b9980226c5..abda4be633e 100755
--- a/configure
+++ b/configure
@@ -3022,6 +3022,7 @@ else
# --with-template not given
case $host_os in
+ aix*) template=aix ;;
cygwin*|msys*) template=cygwin ;;
darwin*) template=darwin ;;
dragonfly*) template=netbsd ;;
@@ -17204,13 +17205,37 @@ _ACEOF
# wider than 64 bits, as allowing MAXIMUM_ALIGNOF to exceed 8 would be too
# much of a penalty for disk and memory space.
-MAX_ALIGNOF=$ac_cv_alignof_double
+echo "Checking for MAX ALIGN - $PORTNAME"
+if test "$PORTNAME" != "aix"; then
+ MAX_ALIGNOF=$ac_cv_alignof_double
-if test $ac_cv_alignof_long -gt $MAX_ALIGNOF ; then
- as_fn_error $? "alignment of 'long' is greater than the alignment of 'double'" "$LINENO" 5
-fi
-if test $ac_cv_alignof_int64_t -gt $MAX_ALIGNOF ; then
- as_fn_error $? "alignment of 'int64_t' is greater than the alignment of 'double'" "$LINENO" 5
+ if test $ac_cv_alignof_long -gt $MAX_ALIGNOF ; then
+ as_fn_error $? "alignment of 'long' is greater than the alignment of 'double'" "$LINENO" 5
+ fi
+ if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $ac_cv_alignof_long_long_int -gt $MAX_ALIGNOF ; then
+ as_fn_error $? "alignment of 'long long int' is greater than the alignment of 'double'" "$LINENO" 5
+ fi
+else
+# The AIX 'power' alignment rules apply the natural alignment of the "first
+# member" if it is of a floating-point data type (or is an aggregate whose
+# recursively "first" member or element is such a type). The alignment
+# associated with these types for subsequent members use an alignment value
+# where the floating-point data type is considered to have 4-byte alignment.
+# More info
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99557
+#
+# The double is aligned to 4-bytes on AIX in aggregates. But to maintain
+# alignement across platforms the max alignment of long should be considered.
+ echo "MAX ALIGN ac_cv_alignof_long"
+ MAX_ALIGNOF=$ac_cv_alignof_long
+ if test $MAX_ALIGNOF -lt $ac_cv_alignof_double ; then
+ MAX_ALIGNOF=$ac_cv_alignof_double
+ echo "MAX ALIGN ac_cv_alignof_double"
+ fi
+ if test $MAX_ALIGNOF -lt $ac_cv_alignof_int64_t; then
+ MAX_ALIGNOF="$ac_cv_alignof_int64_t"
+ echo "MAX ALIGN ac_cv_alignof_int64_t"
+ fi
fi
cat >>confdefs.h <<_ACEOF
diff --git a/configure.ac b/configure.ac
index 3e3fcfa9831..1ef58a1d7a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,7 @@ PGAC_ARG_REQ(with, template, [NAME], [override operating system template],
# --with-template not given
case $host_os in
+ aix*) template=aix ;;
cygwin*|msys*) template=cygwin ;;
darwin*) template=darwin ;;
dragonfly*) template=netbsd ;;
@@ -2021,7 +2022,33 @@ AC_CHECK_ALIGNOF(double)
# wider than 64 bits, as allowing MAXIMUM_ALIGNOF to exceed 8 would be too
# much of a penalty for disk and memory space.
-MAX_ALIGNOF=$ac_cv_alignof_double
+if test "$PORTNAME" != "aix"; then
+ MAX_ALIGNOF=$ac_cv_alignof_double
+
+ if test $ac_cv_alignof_long -gt $MAX_ALIGNOF ; then
+ as_fn_error $? "alignment of 'long' is greater than the alignment of 'double'" "$LINENO" 5
+ fi
+ if test $ac_cv_alignof_int64_t -gt $MAX_ALIGNOF; then
+ as_fn_error $? "alignment of 'long long int' is greater than the alignment of 'double'" "$LINENO" 5
+ fi
+else
+# The AIX 'power' alignment rules apply the natural alignment of the "first
+# member" if it is of a floating-point data type (or is an aggregate whose
+# recursively "first" member or element is such a type). The alignment
+# associated with these types for subsequent members use an alignment value
+# where the floating-point data type is considered to have 4-byte alignment.
+# More info
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99557
+#
+# The double is aligned to 4-bytes on AIX in aggregates. But to maintain
+# alignement across platforms the max alignment of long should be considered.
+ MAX_ALIGNOF=$ac_cv_alignof_long
+ if test $MAX_ALIGNOF -lt $ac_cv_alignof_double ; then
+ MAX_ALIGNOF=$ac_cv_alignof_double
+ fi
+ if test $MAX_ALIGNOF -lt $ac_cv_alignof_int64_t ; then
+ MAX_ALIGNOF="$ac_cv_alignof_int64_t"
+ fi
if test $ac_cv_alignof_long -gt $MAX_ALIGNOF ; then
AC_MSG_ERROR([alignment of 'long' is greater than the alignment of 'double'])
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 3825af5b228..35adc4174ed 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -106,6 +106,20 @@ ifdef SO_MAJOR_VERSION
override CPPFLAGS += -DSO_MAJOR_VERSION=$(SO_MAJOR_VERSION)
endif
+ifeq ($(PORTNAME), aix)
+ LINK.shared = $(COMPILER)
+ ifdef SO_MAJOR_VERSION
+ shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
+ endif
+ haslibarule = yes
+ # $(exports_file) is also usable as an import file
+ exports_file = lib$(NAME).exp
+ BUILD.exports = ( echo '\#! $(shlib)'; $(AWK) '/^[^\#]/ {printf "%s\n",$$1}' $< ) > $@
+ ifneq (,$(SHLIB_EXPORTS))
+ LINK.shared += -Wl,-bE:$(exports_file)
+ endif
+endif
+
ifeq ($(PORTNAME), darwin)
ifdef soname
# linkable library
@@ -254,6 +268,14 @@ $(stlib): $(OBJS) | $(SHLIB_PREREQS)
touch $@
endif #haslibarule
+# AIX wraps both shared libraries and static library, which can be used both
+# for static and shared linking
+ifeq ($(PORTNAME), aix)
+$(stlib): $(shlib)
+ rm -f $(stlib)
+ $(AR) $(AROPT) $(stlib) $(shlib)
+endif # aix
+
ifeq (,$(filter cygwin win32,$(PORTNAME)))
# Normal case
@@ -267,8 +289,11 @@ ifneq ($(shlib), $(shlib_major))
endif
# Make sure we have a link to a name without any version numbers
ifneq ($(shlib), $(shlib_bare))
+# except on AIX, where that's not a thing
+ifneq ($(PORTNAME), aix)
rm -f $(shlib_bare)
$(LN_S) $(shlib) $(shlib_bare)
+endif # aix
endif # shlib_bare
endif # shlib_major
@@ -376,6 +401,9 @@ install-lib-static: $(stlib) installdirs-lib
install-lib-shared: $(shlib) installdirs-lib
ifdef soname
+# we don't install $(shlib) on AIX
+# (see http://archives.postgresql.org/message-id/52EF20B2E3209443BC37736D00C3C1380A6E79FE@EXADV1.host.magwien.gv.at)
+ifneq ($(PORTNAME), aix)
$(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/$(shlib)'
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
@@ -391,6 +419,7 @@ ifneq ($(shlib), $(shlib_bare))
endif
endif # not win32
endif # not cygwin
+endif # not aix
ifneq (,$(findstring $(PORTNAME),win32 cygwin))
$(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)'
endif
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 7344c8c7f5c..572f5430a60 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -63,12 +63,14 @@ all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
+ifneq ($(PORTNAME), aix)
postgres: $(OBJS)
$(CC) $(CFLAGS) $(call expand_subsys,$^) $(LDFLAGS) $(LIBS) -o $@
endif
endif
+endif
ifeq ($(PORTNAME), cygwin)
@@ -95,6 +97,24 @@ libpostgres.a: postgres
endif # win32
+ifeq ($(PORTNAME), aix)
+
+postgres: $(POSTGRES_IMP)
+ $(CC) $(CFLAGS) $(call expand_subsys,$(OBJS)) $(LDFLAGS) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -Wl,-brtllib -o $@
+
+# Linking to a single .o with -r is a lot faster than building a .a or passing
+# all objects to MKLDEXPORT.
+#
+# It looks alluring to use $(CC) -r instead of ld -r, but that doesn't
+# trivially work with gcc, due to gcc specific static libraries linked in with
+# -r.
+$(POSTGRES_IMP): $(OBJS)
+ ld -r -o SUBSYS.o $(call expand_subsys,$^)
+ $(MKLDEXPORT) SUBSYS.o . > $@
+ @rm -f SUBSYS.o
+
+endif # aix
+
$(top_builddir)/src/port/libpgport_srv.a: | submake-libpgport
diff --git a/src/backend/port/aix/mkldexport.sh b/src/backend/port/aix/mkldexport.sh
new file mode 100755
index 00000000000..adf3793e868
--- /dev/null
+++ b/src/backend/port/aix/mkldexport.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# mkldexport
+# create an AIX exports file from an object file
+#
+# src/backend/port/aix/mkldexport.sh
+#
+# Usage:
+# mkldexport objectfile [location]
+# where
+# objectfile is the current location of the object file.
+# location is the eventual (installed) location of the
+# object file (if different from the current
+# working directory).
+#
+# [This file comes from the Postgres 4.2 distribution. - ay 7/95]
+#
+# Header: /usr/local/devel/postgres/src/tools/mkldexport/RCS/mkldexport.sh,v 1.2 1994/03/13 04:59:12 aoki Exp
+#
+
+# setting this to nm -B might be better
+# ... due to changes in AIX 4.x ...
+# ... let us search in different directories - Gerhard Reithofer
+if [ -x /usr/ucb/nm ]
+then NM=/usr/ucb/nm
+elif [ -x /usr/bin/nm ]
+then NM=/usr/bin/nm
+elif [ -x /usr/ccs/bin/nm ]
+then NM=/usr/ccs/bin/nm
+elif [ -x /usr/usg/bin/nm ]
+then NM=/usr/usg/bin/nm
+else echo "Fatal error: cannot find `nm' ... please check your installation."
+ exit 1
+fi
+
+CMDNAME=`basename $0`
+if [ -z "$1" ]; then
+ echo "Usage: $CMDNAME object [location]"
+ exit 1
+fi
+OBJNAME=`basename $1`
+if [ "`basename $OBJNAME`" != "`basename $OBJNAME .o`" ]; then
+ OBJNAME=`basename $OBJNAME .o`.so
+fi
+if [ -z "$2" ]; then
+ echo '#!'
+else
+ if [ "$2" = "." ]; then
+ # for the base executable (AIX 4.2 and up)
+ echo '#! .'
+ else
+ echo '#!' $2
+ fi
+fi
+$NM -BCg $1 | \
+ egrep ' [TDB] ' | \
+ sed -e 's/.* //' | \
+ egrep -v '\$' | \
+ sed -e 's/^[.]//' | \
+ sort | \
+ uniq
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 47af743990f..f0f4ff051b5 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -905,7 +905,9 @@ errcode_for_file_access(void)
/* Wrong object type or state */
case ENOTDIR: /* Not a directory */
case EISDIR: /* Is a directory */
+#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */
case ENOTEMPTY: /* Directory not empty */
+#endif
edata->sqlerrcode = ERRCODE_WRONG_OBJECT_TYPE;
break;
diff --git a/src/include/port/aix.h b/src/include/port/aix.h
new file mode 100644
index 00000000000..7d08480c8c0
--- /dev/null
+++ b/src/include/port/aix.h
@@ -0,0 +1,4 @@
+/*
+ * src/include/port/aix.h
+ */
+
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 2f73f9fcf57..ba120c08d14 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -398,56 +398,18 @@ typedef unsigned int slock_t;
#define TAS(lock) tas(lock)
-/* On PPC, it's a win to use a non-locking test before the lwarx */
+/* On PPC, use the compiler provided Built-in functions for atomic memory
+ * exchange operations.
+ */
#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock))
-/*
- * The second operand of addi can hold a constant zero or a register number,
- * hence constraint "=&b" to avoid allocating r0. "b" stands for "address
- * base register"; most operands having this register-or-zero property are
- * address bases, e.g. the second operand of lwax.
- *
- * NOTE: per the Enhanced PowerPC Architecture manual, v1.0 dated 7-May-2002,
- * an isync is a sufficient synchronization barrier after a lwarx/stwcx loop.
- * But if the spinlock is in ordinary memory, we can use lwsync instead for
- * better performance.
- */
static __inline__ int
tas(volatile slock_t *lock)
{
- slock_t _t;
- int _res;
-
- __asm__ __volatile__(
-" lwarx %0,0,%3,1 \n"
-" cmpwi %0,0 \n"
-" bne 1f \n"
-" addi %0,%0,1 \n"
-" stwcx. %0,0,%3 \n"
-" beq 2f \n"
-"1: \n"
-" li %1,1 \n"
-" b 3f \n"
-"2: \n"
-" lwsync \n"
-" li %1,0 \n"
-"3: \n"
-: "=&b"(_t), "=r"(_res), "+m"(*lock)
-: "r"(lock)
-: "memory", "cc");
- return _res;
+ return __sync_lock_test_and_set(lock, 1);
}
-/*
- * PowerPC S_UNLOCK is almost standard but requires a "sync" instruction.
- * But we can use lwsync instead for better performance.
- */
-#define S_UNLOCK(lock) \
-do \
-{ \
- __asm__ __volatile__ (" lwsync \n" ::: "memory"); \
- *((volatile slock_t *) (lock)) = 0; \
-} while (0)
+#define S_UNLOCK(lock) __sync_lock_release(lock)
#endif /* powerpc */
diff --git a/src/makefiles/Makefile.aix b/src/makefiles/Makefile.aix
new file mode 100644
index 00000000000..4c4de8b0be7
--- /dev/null
+++ b/src/makefiles/Makefile.aix
@@ -0,0 +1,34 @@
+# -blibpath:
+# The path to be inserted into the default path (Index 0 path) field of the
+# loader section. When this flag is presented, the -L paths will not be stored.
+# AIX uses a stricter, more explicit approach. The runtime linker expects to
+# tell it exactly where to look using -blibpath.
+# -blibpath must contain ALL directories where we should look for libraries
+libpath := $(shell echo $(subst -L,:,$(filter -L/%,$(LDFLAGS))) | sed -e's/ //g'):/usr/lib:/lib
+
+# AIX uses a stricter, more explicit approach. The runtime linker expects
+# to tell it exactly where to look using -blibpath.
+rpath = -Wl,-blibpath:'$(rpathdir)$(libpath)'
+
+# gcc needs to know it's building a shared lib, otherwise it'll not emit
+# correct code / link to the right support libraries
+ifeq ($(GCC), yes)
+LDFLAGS_SL += -shared
+endif
+
+# env var name to use in place of LD_LIBRARY_PATH
+ld_library_path_var = LIBPATH
+
+POSTGRES_IMP= postgres.imp
+
+ifdef PGXS
+BE_DLLLIBS= -Wl,-bI:$(pkglibdir)/$(POSTGRES_IMP)
+else
+BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
+endif
+
+MKLDEXPORT_DIR=src/backend/port/aix
+MKLDEXPORT=$(top_srcdir)/$(MKLDEXPORT_DIR)/mkldexport.sh
+
+%$(DLSUFFIX): %.o
+ $(CC) $(CFLAGS) $*.o $(LDFLAGS) $(LDFLAGS_SL) -o $@ $(BE_DLLLIBS)
diff --git a/src/port/strerror.c b/src/port/strerror.c
index f0746517770..c46b9dc91fc 100644
--- a/src/port/strerror.c
+++ b/src/port/strerror.c
@@ -214,8 +214,10 @@ get_errno_symbol(int errnum)
return "ENOTCONN";
case ENOTDIR:
return "ENOTDIR";
+#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */
case ENOTEMPTY:
return "ENOTEMPTY";
+#endif
case ENOTSOCK:
return "ENOTSOCK";
#ifdef ENOTSUP
diff --git a/src/template/aix b/src/template/aix
new file mode 100644
index 00000000000..bfc193348f4
--- /dev/null
+++ b/src/template/aix
@@ -0,0 +1,7 @@
+# This file is referred for specific flags wrt to AIX build process like
+# cflags.
+# src/template/aix
+
+# Extra CFLAGS for code that will go into a shared library
+# With optimization, the MemSet() and MemSetAlign() perform better.
+CFLAGS_SL=" -O2 "
--
2.41.0
[text/plain] build-farm-19.pg16.log (4.3K, 4-build-farm-19.pg16.log)
download | inline:
Sun Aug 10 22:34:32 2025: buildfarm run for urus:REL_16_STABLE starting
urus:REL_16_STABLE [22:34:43] checking out source ...
running git clone -q /home/pgdev/bfarm/build-farm-19.1.16/buildroot/pgmirror.git "/home/pgdev/bfarm/build-farm-19.1.16/buildroot/HEAD/pgsql"
urus:REL_16_STABLE [22:41:18] checking if build run needed ...
urus:REL_16_STABLE [22:41:18] copying source to pgsql.build ...
urus:REL_16_STABLE [22:41:27] running configure ...
urus:REL_16_STABLE [22:42:11] running build ...
urus:REL_16_STABLE [22:53:07] running basic regression tests ...
urus:REL_16_STABLE [22:54:23] running make contrib ...
urus:REL_16_STABLE [22:55:29] running make testmodules ...
urus:REL_16_STABLE [22:55:39] running install ...
urus:REL_16_STABLE [22:56:09] running make contrib install ...
urus:REL_16_STABLE [22:56:19] running testmodules install ...
urus:REL_16_STABLE [22:56:24] running make check miscellaneous modules ...
urus:REL_16_STABLE [22:57:41] running bin test initdb ...
urus:REL_16_STABLE [22:57:52] running bin test pg_amcheck ...
urus:REL_16_STABLE [22:58:11] running bin test pg_archivecleanup ...
urus:REL_16_STABLE [22:58:12] running bin test pg_basebackup ...
urus:REL_16_STABLE [22:59:02] running bin test pg_checksums ...
urus:REL_16_STABLE [22:59:09] running bin test pg_config ...
urus:REL_16_STABLE [22:59:09] running bin test pg_controldata ...
urus:REL_16_STABLE [22:59:12] running bin test pg_ctl ...
urus:REL_16_STABLE [22:59:31] running bin test pg_dump ...
urus:REL_16_STABLE [23:00:10] running bin test pg_resetwal ...
urus:REL_16_STABLE [23:00:15] running bin test pg_rewind ...
urus:REL_16_STABLE [23:01:49] running bin test pg_test_fsync ...
urus:REL_16_STABLE [23:01:50] running bin test pg_test_timing ...
urus:REL_16_STABLE [23:01:50] running bin test pg_upgrade ...
urus:REL_16_STABLE [23:02:55] running bin test pg_verifybackup ...
urus:REL_16_STABLE [23:03:57] running bin test pg_waldump ...
urus:REL_16_STABLE [23:04:01] running bin test pgbench ...
urus:REL_16_STABLE [23:04:13] running bin test psql ...
urus:REL_16_STABLE [23:04:20] running bin test scripts ...
urus:REL_16_STABLE [23:05:10] running test misc-recovery ...
urus:REL_16_STABLE [23:11:33] running test misc-subscription ...
urus:REL_16_STABLE [23:16:21] running test misc-authentication ...
urus:REL_16_STABLE [23:16:37] running misc test module-brin ...
urus:REL_16_STABLE [23:16:50] running misc test module-commit_ts ...
urus:REL_16_STABLE [23:17:15] running misc test module-ldap_password_func ...
urus:REL_16_STABLE [23:17:16] running misc test module-libpq_pipeline ...
urus:REL_16_STABLE [23:17:19] running misc test module-ssl_passphrase_callback ...
urus:REL_16_STABLE [23:17:23] running misc test module-test_custom_rmgrs ...
urus:REL_16_STABLE [23:17:26] running misc test module-test_escape ...
urus:REL_16_STABLE [23:17:29] running misc test module-test_misc ...
urus:REL_16_STABLE [23:17:43] running misc test module-test_pg_dump ...
urus:REL_16_STABLE [23:17:53] running misc test module-libpq ...
urus:REL_16_STABLE [23:18:04] running misc test module-pg_bsd_indent ...
urus:REL_16_STABLE [23:18:08] running contrib test amcheck ...
urus:REL_16_STABLE [23:18:36] running contrib test auto_explain ...
urus:REL_16_STABLE [23:18:43] running contrib test bloom ...
urus:REL_16_STABLE [23:19:03] running contrib test oid2name ...
urus:REL_16_STABLE [23:19:04] running contrib test pg_prewarm ...
urus:REL_16_STABLE [23:19:08] running contrib test test_decoding ...
urus:REL_16_STABLE [23:19:30] running contrib test vacuumlo ...
urus:REL_16_STABLE [23:19:31] setting up db cluster (C)...
urus:REL_16_STABLE [23:19:33] starting db (C)...
urus:REL_16_STABLE [23:19:33] running installcheck (C)...
urus:REL_16_STABLE [23:20:30] restarting db (C)...
urus:REL_16_STABLE [23:20:33] running make isolation check ...
urus:REL_16_STABLE [23:21:09] restarting db (C)...
urus:REL_16_STABLE [23:21:14] running make PL installcheck (C)...
urus:REL_16_STABLE [23:21:18] restarting db (C)...
urus:REL_16_STABLE [23:21:20] running make contrib installcheck (C)...
urus:REL_16_STABLE [23:25:29] restarting db (C)...
urus:REL_16_STABLE [23:25:31] running make test-modules installcheck (C)...
urus:REL_16_STABLE [23:26:31] stopping db (C)...
urus:REL_16_STABLE [23:26:32] running make ecpg check ...
urus:REL_16_STABLE [23:27:15] OK
Branch: REL_16_STABLE
All stages succeeded
[text/plain] build-farm-19.pg17.log (4.7K, 5-build-farm-19.pg17.log)
download | inline:
Thu Aug 7 04:52:04 2025: buildfarm run for uruspg17:HEAD starting
branch not specified, locks, logs, build artefacts etc will go in HEAD
uruspg17:HEAD [04:52:54] running configure ...
uruspg17:HEAD [04:53:43] running build ...
uruspg17:HEAD [05:05:18] running basic regression tests ...
uruspg17:HEAD [05:10:34] running make contrib ...
uruspg17:HEAD [05:11:40] running make testmodules ...
uruspg17:HEAD [05:11:53] running install ...
uruspg17:HEAD [05:12:20] running make contrib install ...
uruspg17:HEAD [05:12:31] running testmodules install ...
uruspg17:HEAD [05:12:36] running make check miscellaneous modules ...
uruspg17:HEAD [05:13:34] running bin test initdb ...
uruspg17:HEAD [05:13:52] running bin test pg_amcheck ...
uruspg17:HEAD [05:14:17] running bin test pg_archivecleanup ...
uruspg17:HEAD [05:14:17] running bin test pg_basebackup ...
uruspg17:HEAD [05:15:31] running bin test pg_checksums ...
uruspg17:HEAD [05:15:37] running bin test pg_combinebackup ...
uruspg17:HEAD [05:16:55] running bin test pg_config ...
uruspg17:HEAD [05:16:55] running bin test pg_controldata ...
uruspg17:HEAD [05:16:58] running bin test pg_ctl ...
uruspg17:HEAD [05:17:18] running bin test pg_dump ...
uruspg17:HEAD [05:20:19] running bin test pg_resetwal ...
uruspg17:HEAD [05:20:28] running bin test pg_rewind ...
uruspg17:HEAD [05:22:29] running bin test pg_test_fsync ...
uruspg17:HEAD [05:22:30] running bin test pg_test_timing ...
uruspg17:HEAD [05:22:30] running bin test pg_upgrade ...
uruspg17:HEAD [05:30:39] running bin test pg_verifybackup ...
uruspg17:HEAD [05:31:43] running bin test pg_waldump ...
uruspg17:HEAD [05:31:51] running bin test pg_walsummary ...
uruspg17:HEAD [05:31:55] running bin test pgbench ...
uruspg17:HEAD [05:32:24] running bin test psql ...
uruspg17:HEAD [05:32:32] running bin test scripts ...
uruspg17:HEAD [05:33:29] running test misc-recovery ...
uruspg17:HEAD [05:47:05] running test misc-subscription ...
uruspg17:HEAD [05:52:54] running test misc-authentication ...
uruspg17:HEAD [05:53:20] running misc test module-brin ...
uruspg17:HEAD [05:53:39] running misc test module-commit_ts ...
uruspg17:HEAD [05:54:15] running misc test module-ldap_password_func ...
uruspg17:HEAD [05:54:15] running misc test module-libpq_pipeline ...
uruspg17:HEAD [05:54:20] running misc test module-ssl_passphrase_callback ...
uruspg17:HEAD [05:54:25] running misc test module-test_custom_rmgrs ...
uruspg17:HEAD [05:54:30] running misc test module-test_escape ...
uruspg17:HEAD [05:54:34] running misc test module-test_json_parser ...
uruspg17:HEAD [05:54:42] running misc test module-test_misc ...
uruspg17:HEAD [05:54:57] running misc test module-test_pg_dump ...
uruspg17:HEAD [05:55:18] running misc test module-worker_spi ...
uruspg17:HEAD [05:55:23] running misc test module-xid_wraparound ...
uruspg17:HEAD [05:55:24] running misc test module-libpq ...
uruspg17:HEAD [05:55:37] running misc test module-pg_bsd_indent ...
uruspg17:HEAD [05:55:40] running contrib test amcheck ...
uruspg17:HEAD [05:56:12] running contrib test auto_explain ...
uruspg17:HEAD [05:56:15] running contrib test bloom ...
uruspg17:HEAD [05:56:38] running contrib test oid2name ...
uruspg17:HEAD [05:56:39] running contrib test pg_prewarm ...
uruspg17:HEAD [05:56:45] running contrib test pg_stat_statements ...
uruspg17:HEAD [05:56:54] running contrib test pg_visibility ...
uruspg17:HEAD [05:57:01] running contrib test test_decoding ...
uruspg17:HEAD [05:57:24] setting up db cluster (C)...
uruspg17:HEAD [05:57:27] starting db (C)...
uruspg17:HEAD [05:57:27] running installcheck (C)...
uruspg17:HEAD [06:04:38] restarting db (C)...
uruspg17:HEAD [06:04:40] running make isolation check ...
uruspg17:HEAD [06:07:07] restarting db (C)...
uruspg17:HEAD [06:07:13] running make PL installcheck (C)...
uruspg17:HEAD [06:07:19] restarting db (C)...
uruspg17:HEAD [06:07:21] running make contrib installcheck (C)...
uruspg17:HEAD [06:12:56] restarting db (C)...
uruspg17:HEAD [06:12:59] running make test-modules installcheck (C)...
uruspg17:HEAD [06:14:37] stopping db (C)...
uruspg17:HEAD [06:14:37] running make ecpg check ...
uruspg17:HEAD [06:15:26] OK
Branch: HEAD
All stages succeeded
[text/plain] build-farm-19.pg18.log (5.3K, 6-build-farm-19.pg18.log)
download | inline:
Thu Aug 7 01:40:13 2025: buildfarm run for uruspg18:HEAD starting
branch not specified, locks, logs, build artefacts etc will go in HEAD
uruspg18:HEAD [01:40:24] running configure ...
uruspg18:HEAD [01:41:12] running build ...
uruspg18:HEAD [01:53:12] running basic regression tests ...
uruspg18:HEAD [01:59:36] running make contrib ...
uruspg18:HEAD [02:00:47] running make testmodules ...
uruspg18:HEAD [02:01:03] running install ...
uruspg18:HEAD [02:01:30] running make contrib install ...
uruspg18:HEAD [02:01:43] running testmodules install ...
uruspg18:HEAD [02:01:48] running make check miscellaneous modules ...
uruspg18:HEAD [02:03:00] running bin test initdb ...
uruspg18:HEAD [02:03:21] running bin test pg_amcheck ...
uruspg18:HEAD [02:03:46] running bin test pg_archivecleanup ...
uruspg18:HEAD [02:03:47] running bin test pg_basebackup ...
uruspg18:HEAD [02:05:04] running bin test pg_checksums ...
uruspg18:HEAD [02:05:10] running bin test pg_combinebackup ...
uruspg18:HEAD [02:06:41] running bin test pg_config ...
uruspg18:HEAD [02:06:41] running bin test pg_controldata ...
uruspg18:HEAD [02:06:44] running bin test pg_ctl ...
uruspg18:HEAD [02:07:03] running bin test pg_dump ...
uruspg18:HEAD [02:11:41] running bin test pg_resetwal ...
uruspg18:HEAD [02:11:48] running bin test pg_rewind ...
uruspg18:HEAD [02:13:36] running bin test pg_test_fsync ...
uruspg18:HEAD [02:13:37] running bin test pg_test_timing ...
uruspg18:HEAD [02:13:37] running bin test pg_upgrade ...
uruspg18:HEAD [02:24:35] running bin test pg_verifybackup ...
uruspg18:HEAD [02:26:04] running bin test pg_waldump ...
uruspg18:HEAD [02:26:15] running bin test pg_walsummary ...
uruspg18:HEAD [02:26:20] running bin test pgbench ...
uruspg18:HEAD [02:26:52] running bin test psql ...
uruspg18:HEAD [02:27:02] running bin test scripts ...
uruspg18:HEAD [02:28:09] running test misc-recovery ...
uruspg18:HEAD [02:41:40] running test misc-subscription ...
uruspg18:HEAD [02:48:12] running test misc-authentication ...
uruspg18:HEAD [02:48:42] running misc test module-brin ...
uruspg18:HEAD [02:49:00] running misc test module-commit_ts ...
uruspg18:HEAD [02:49:34] running misc test module-injection_points ...
uruspg18:HEAD [02:49:34] running misc test module-ldap_password_func ...
uruspg18:HEAD [02:49:35] running misc test module-libpq_pipeline ...
uruspg18:HEAD [02:49:40] running misc test module-oauth_validator ...
uruspg18:HEAD [02:49:40] running misc test module-ssl_passphrase_callback ...
uruspg18:HEAD [02:49:45] running misc test module-test_aio ...
uruspg18:HEAD [02:50:02] running misc test module-test_custom_rmgrs ...
uruspg18:HEAD [02:50:06] running misc test module-test_escape ...
uruspg18:HEAD [02:50:11] running misc test module-test_extensions ...
uruspg18:HEAD [02:50:21] running misc test module-test_json_parser ...
uruspg18:HEAD [02:50:51] running misc test module-test_misc ...
uruspg18:HEAD [02:51:11] running misc test module-test_pg_dump ...
uruspg18:HEAD [02:51:35] running misc test module-test_slru ...
uruspg18:HEAD [02:51:39] running misc test module-worker_spi ...
uruspg18:HEAD [02:51:46] running misc test module-xid_wraparound ...
uruspg18:HEAD [02:51:47] running misc test module-libpq ...
uruspg18:HEAD [02:52:08] running misc test module-pg_bsd_indent ...
uruspg18:HEAD [02:52:12] running contrib test amcheck ...
uruspg18:HEAD [02:52:52] running contrib test auto_explain ...
uruspg18:HEAD [02:52:56] running contrib test basebackup_to_shell ...
uruspg18:HEAD [02:53:03] running contrib test bloom ...
uruspg18:HEAD [02:53:27] running contrib test oid2name ...
uruspg18:HEAD [02:53:28] running contrib test pg_stat_statements ...
uruspg18:HEAD [02:53:42] running contrib test postgres_fdw ...
Use of uninitialized value $ENV{"PG_TEST_EXTRA"} in pattern match (m//) at ./run_build.pl line 2510.
uruspg18:HEAD [02:54:02] running contrib test test_decoding ...
uruspg18:HEAD [02:54:25] running contrib test vacuumlo ...
uruspg18:HEAD [02:54:26] setting up db cluster (C)...
uruspg18:HEAD [02:54:29] starting db (C)...
uruspg18:HEAD [02:54:29] running installcheck (C)...
uruspg18:HEAD [03:03:12] restarting db (C)...
uruspg18:HEAD [03:03:14] running make isolation check ...
uruspg18:HEAD [03:05:52] restarting db (C)...
uruspg18:HEAD [03:06:00] running make PL installcheck (C)...
uruspg18:HEAD [03:06:06] restarting db (C)...
uruspg18:HEAD [03:06:08] running make contrib installcheck (C)...
uruspg18:HEAD [03:11:59] restarting db (C)...
uruspg18:HEAD [03:12:02] running make test-modules installcheck (C)...
uruspg18:HEAD [03:14:25] stopping db (C)...
uruspg18:HEAD [03:14:26] running make ecpg check ...
uruspg18:HEAD [03:15:16] OK
Branch: HEAD
All stages succeeded
view thread (47+ 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], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: RE: AIX support
In-Reply-To: <SJ4PPFB817783269FCAF7AC4F7486BEE3E5DB01A@SJ4PPFB81778326.namprd15.prod.outlook.com>
* 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