@@ -28,7 +28,8 @@ the AIX Toolbox which is shipped with AIX.
28
28
29
29
Currently all versions of IBM's "xlc", "xlc_r", "cc", "cc_r" or
30
30
"vac" ANSI/C compiler will work for building Perl if that compiler
31
- works on your system.
31
+ works on your system. ibm-clang and ibm-clang_r will work as well,
32
+ which is recommended on AIX 7.2 and 7.3.
32
33
33
34
If you plan to link Perl to any module that requires thread-support,
34
35
like DBD::Oracle, it is better to use the _r version of the compiler.
@@ -55,10 +56,20 @@ from IBM (April 2009 PTF for XL C/C++ Enterprise Edition for AIX, V9.0).
55
56
If you choose XL C/C++ V11 you need the April 2010 PTF (or newer)
56
57
installed otherwise you will not get a working Perl version.
57
58
58
- Perl can be compiled with either IBM's ANSI C compiler or with gcc.
59
- The former is recommended, as not only it can compile Perl with no
60
- difficulty, but also can take advantage of features listed later
61
- that require the use of IBM compiler-specific command-line flags.
59
+ I<IBM Open XL C/C++ for AIX> is also supported for AIX 7.2 and 7.3.
60
+ As of 2025-07, the following version is supported:
61
+
62
+ IBM Open XL C/C++ for AIX V17
63
+
64
+ If you choose the Open XL C/C++ compiler (ibm-clang/ibm-clang_r), it should
65
+ work out of the box.
66
+
67
+ Perl can be compiled with either IBM's ANSI C compiler, IBM's Open XL clang
68
+ compiler, or with gcc. It is recommended to use the Open XL clang compiler, as
69
+ not only can it compile Perl with no difficulty, but also can take advantage
70
+ of features listed later that require the use of IBM compiler-specific
71
+ command-line flags and support newer compiler features only available in clang
72
+ and gcc.
62
73
63
74
If you decide to use gcc, make sure your installation is recent and
64
75
complete, and be sure to read the Perl INSTALL file for more gcc-specific
@@ -127,7 +138,7 @@ Should yield no problems.
127
138
128
139
=head2 Threaded Perl
129
140
130
- Should yield no problems with AIX 5.1 / 5.2 / 5.3 / 6.1 / 7.1.
141
+ Should yield no problems with AIX 5.1 / 5.2 / 5.3 / 6.1 / 7.1 / 7.2 / 7.3 .
131
142
132
143
IBM uses the AIX system Perl (V5.6.0 on AIX 5.1 and V5.8.2 on
133
144
AIX 5.2 / 5.3 and 6.1; V5.8.8 on AIX 5.3 TL11 and AIX 6.1 TL4; V5.10.1
@@ -175,6 +186,22 @@ enable long doubles, for most of the broken things Perl has implemented
175
186
workarounds, but the handling of the special values infinity and NaN
176
187
remains badly broken: for example infinity plus zero results in NaN.
177
188
189
+ =head2 Recommended Options AIX 7.2 and 7.3 (threaded/32-bit)
190
+
191
+ With the following options you get a threaded Perl version which
192
+ passes all make tests in threaded 32-bit mode.
193
+
194
+ rm config.sh
195
+ ./Configure \
196
+ -d \
197
+ -Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
198
+ -Duseshrplib \
199
+ -Dusethreads \
200
+ -Dprefix=/usr/opt/perl5_32
201
+
202
+ The -Dprefix option will install Perl in a directory parallel to the
203
+ IBM AIX system Perl installation.
204
+
178
205
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)
179
206
180
207
With the following options you get a threaded Perl version which
@@ -189,12 +216,27 @@ configuration for the Perl builds that AIX ships with.
189
216
-Dusethreads \
190
217
-Dprefix=/usr/opt/perl5_32
191
218
192
- The -Dprefix option will install Perl in a directory parallel to the
219
+ The -Dprefix option will install Perl in a directory parallel to the
220
+ IBM AIX system Perl installation.
221
+
222
+ =head2 Recommended Options AIX 7.2 and 7.3 (32-bit)
223
+
224
+ With the following options you get a Perl version which passes
225
+ all make tests in 32-bit mode.
226
+
227
+ rm config.sh
228
+ ./Configure \
229
+ -d \
230
+ -Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
231
+ -Duseshrplib \
232
+ -Dprefix=/usr/opt/perl5_32
233
+
234
+ The -Dprefix option will install Perl in a directory parallel to the
193
235
IBM AIX system Perl installation.
194
236
195
237
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)
196
238
197
- With the following options you get a Perl version which passes
239
+ With the following options you get a Perl version which passes
198
240
all make tests in 32-bit mode.
199
241
200
242
rm config.sh
@@ -207,36 +249,72 @@ all make tests in 32-bit mode.
207
249
The -Dprefix option will install Perl in a directory parallel to the
208
250
IBM AIX system Perl installation.
209
251
252
+ =head2 Recommended Options AIX 7.2 and 7.3 (threaded/64-bit)
253
+
254
+ With the following options you get a threaded Perl version which
255
+ passes all make tests in threaded 64-bit mode.
256
+
257
+ export OBJECT_MODE=64
258
+ # or (depending on your shell)
259
+ setenv OBJECT_MODE 64
260
+ rm config.sh
261
+ ./Configure \
262
+ -d \
263
+ -Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
264
+ -Duseshrplib \
265
+ -Dusethreads \
266
+ -Duse64bitall \
267
+ -Dprefix=/usr/opt/perl5_64
268
+
210
269
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)
211
270
212
271
With the following options you get a threaded Perl version which
213
272
passes all make tests in 64-bit mode.
214
273
215
- export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
274
+ export OBJECT_MODE=64
275
+ # or (depending on your shell)
276
+ setenv OBJECT_MODE 64
277
+ rm config.sh
278
+ ./Configure \
279
+ -d \
280
+ -Dcc=cc_r \
281
+ -Duseshrplib \
282
+ -Dusethreads \
283
+ -Duse64bitall \
284
+ -Dprefix=/usr/opt/perl5_64
216
285
217
- rm config.sh
218
- ./Configure \
219
- -d \
220
- -Dcc=cc_r \
221
- -Duseshrplib \
222
- -Dusethreads \
223
- -Duse64bitall \
224
- -Dprefix=/usr/opt/perl5_64
286
+ =head2 Recommended Options AIX 7.2 and 7.3 (64-bit)
225
287
226
- =head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
288
+ With the following options you get a threaded Perl version which
289
+ passes all make tests in threaded 64-bit mode.
227
290
228
- With the following options you get a Perl version which passes all
229
- make tests in 64-bit mode.
291
+ export OBJECT_MODE=64
292
+ # or (depending on your shell)
293
+ setenv OBJECT_MODE 64
294
+ rm config.sh
295
+ ./Configure \
296
+ -d \
297
+ -Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
298
+ -Duseshrplib \
299
+ -Duse64bitall \
300
+ -Dprefix=/usr/opt/perl5_64
230
301
231
- export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
232
302
233
- rm config.sh
234
- ./Configure \
235
- -d \
236
- -Dcc=cc_r \
237
- -Duseshrplib \
238
- -Duse64bitall \
239
- -Dprefix=/usr/opt/perl5_64
303
+ =head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
304
+
305
+ With the following options you get a Perl version which passes all
306
+ make tests in 64-bit mode.
307
+
308
+ export OBJECT_MODE=64
309
+ # or (depending on your shell)
310
+ setenv OBJECT_MODE 64
311
+ rm config.sh
312
+ ./Configure \
313
+ -d \
314
+ -Dcc=cc_r \
315
+ -Duseshrplib \
316
+ -Duse64bitall \
317
+ -Dprefix=/usr/opt/perl5_64
240
318
241
319
The -Dprefix option will install Perl in a directory parallel to the
242
320
IBM AIX system Perl installation.
@@ -246,7 +324,6 @@ following option:
246
324
247
325
-Dcc='gcc -maix64'
248
326
249
-
250
327
=head2 Compiling Perl 5 on AIX 7.1.0
251
328
252
329
A regression in AIX 7 causes a failure in make test in Time::Piece during
@@ -255,7 +332,6 @@ test to see if it's required, assuming it is currently daylight savings
255
332
in Eastern Time, would be to run C< TZ=EST5 date +%Z >. This will come
256
333
back with C<EST> normally, but nothing if you have the problem.
257
334
258
-
259
335
=head2 Compiling Perl 5 on older AIX versions up to 4.3.3
260
336
261
337
Due to the fact that AIX 4.3.3 reached end-of-service in December 31,
@@ -482,7 +558,7 @@ threads are used in combination with 64-bit configurations.
482
558
483
559
You may get a warning when doing a threaded build:
484
560
485
- "pp_sys.c", line 4640.39: 1506-280 (W) Function argument assignment
561
+ "pp_sys.c", line 4640.39: 1506-280 (W) Function argument assignment
486
562
between types "unsigned char*" and "const void*" is not allowed.
487
563
488
564
The exact line number may vary, but if the warning (W) comes from a line
0 commit comments