mirror of
https://github.com/Perl/perl5.git
synced 2026-01-26 08:38:23 +00:00
Update AIX README
This commit is contained in:
parent
ccaf98b0cb
commit
0218e8f9dc
136
README.aix
136
README.aix
@ -28,7 +28,8 @@ the AIX Toolbox which is shipped with AIX.
|
|||||||
|
|
||||||
Currently all versions of IBM's "xlc", "xlc_r", "cc", "cc_r" or
|
Currently all versions of IBM's "xlc", "xlc_r", "cc", "cc_r" or
|
||||||
"vac" ANSI/C compiler will work for building Perl if that compiler
|
"vac" ANSI/C compiler will work for building Perl if that compiler
|
||||||
works on your system.
|
works on your system. ibm-clang and ibm-clang_r will work as well,
|
||||||
|
which is recommended on AIX 7.2 and 7.3.
|
||||||
|
|
||||||
If you plan to link Perl to any module that requires thread-support,
|
If you plan to link Perl to any module that requires thread-support,
|
||||||
like DBD::Oracle, it is better to use the _r version of the compiler.
|
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).
|
|||||||
If you choose XL C/C++ V11 you need the April 2010 PTF (or newer)
|
If you choose XL C/C++ V11 you need the April 2010 PTF (or newer)
|
||||||
installed otherwise you will not get a working Perl version.
|
installed otherwise you will not get a working Perl version.
|
||||||
|
|
||||||
Perl can be compiled with either IBM's ANSI C compiler or with gcc.
|
I<IBM Open XL C/C++ for AIX> is also supported for AIX 7.2 and 7.3.
|
||||||
The former is recommended, as not only it can compile Perl with no
|
As of 2025-07, the following version is supported:
|
||||||
difficulty, but also can take advantage of features listed later
|
|
||||||
that require the use of IBM compiler-specific command-line flags.
|
IBM Open XL C/C++ for AIX V17
|
||||||
|
|
||||||
|
If you choose the Open XL C/C++ compiler (ibm-clang/ibm-clang_r), it should
|
||||||
|
work out of the box.
|
||||||
|
|
||||||
|
Perl can be compiled with either IBM's ANSI C compiler, IBM's Open XL clang
|
||||||
|
compiler, or with gcc. It is recommended to use the Open XL clang compiler, as
|
||||||
|
not only can it compile Perl with no difficulty, but also can take advantage
|
||||||
|
of features listed later that require the use of IBM compiler-specific
|
||||||
|
command-line flags and support newer compiler features only available in clang
|
||||||
|
and gcc.
|
||||||
|
|
||||||
If you decide to use gcc, make sure your installation is recent and
|
If you decide to use gcc, make sure your installation is recent and
|
||||||
complete, and be sure to read the Perl INSTALL file for more gcc-specific
|
complete, and be sure to read the Perl INSTALL file for more gcc-specific
|
||||||
@ -127,7 +138,7 @@ Should yield no problems.
|
|||||||
|
|
||||||
=head2 Threaded Perl
|
=head2 Threaded Perl
|
||||||
|
|
||||||
Should yield no problems with AIX 5.1 / 5.2 / 5.3 / 6.1 / 7.1.
|
Should yield no problems with AIX 5.1 / 5.2 / 5.3 / 6.1 / 7.1 / 7.2 / 7.3.
|
||||||
|
|
||||||
IBM uses the AIX system Perl (V5.6.0 on AIX 5.1 and V5.8.2 on
|
IBM uses the AIX system Perl (V5.6.0 on AIX 5.1 and V5.8.2 on
|
||||||
AIX 5.2 / 5.3 and 6.1; V5.8.8 on AIX 5.3 TL11 and AIX 6.1 TL4; V5.10.1
|
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
|
|||||||
workarounds, but the handling of the special values infinity and NaN
|
workarounds, but the handling of the special values infinity and NaN
|
||||||
remains badly broken: for example infinity plus zero results in NaN.
|
remains badly broken: for example infinity plus zero results in NaN.
|
||||||
|
|
||||||
|
=head2 Recommended Options AIX 7.2 and 7.3 (threaded/32-bit)
|
||||||
|
|
||||||
|
With the following options you get a threaded Perl version which
|
||||||
|
passes all make tests in threaded 32-bit mode.
|
||||||
|
|
||||||
|
rm config.sh
|
||||||
|
./Configure \
|
||||||
|
-d \
|
||||||
|
-Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
|
||||||
|
-Duseshrplib \
|
||||||
|
-Dusethreads \
|
||||||
|
-Dprefix=/usr/opt/perl5_32
|
||||||
|
|
||||||
|
The -Dprefix option will install Perl in a directory parallel to the
|
||||||
|
IBM AIX system Perl installation.
|
||||||
|
|
||||||
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)
|
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/32-bit)
|
||||||
|
|
||||||
With the following options you get a threaded Perl version which
|
With the following options you get a threaded Perl version which
|
||||||
@ -189,12 +216,27 @@ configuration for the Perl builds that AIX ships with.
|
|||||||
-Dusethreads \
|
-Dusethreads \
|
||||||
-Dprefix=/usr/opt/perl5_32
|
-Dprefix=/usr/opt/perl5_32
|
||||||
|
|
||||||
The -Dprefix option will install Perl in a directory parallel to the
|
The -Dprefix option will install Perl in a directory parallel to the
|
||||||
|
IBM AIX system Perl installation.
|
||||||
|
|
||||||
|
=head2 Recommended Options AIX 7.2 and 7.3 (32-bit)
|
||||||
|
|
||||||
|
With the following options you get a Perl version which passes
|
||||||
|
all make tests in 32-bit mode.
|
||||||
|
|
||||||
|
rm config.sh
|
||||||
|
./Configure \
|
||||||
|
-d \
|
||||||
|
-Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
|
||||||
|
-Duseshrplib \
|
||||||
|
-Dprefix=/usr/opt/perl5_32
|
||||||
|
|
||||||
|
The -Dprefix option will install Perl in a directory parallel to the
|
||||||
IBM AIX system Perl installation.
|
IBM AIX system Perl installation.
|
||||||
|
|
||||||
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)
|
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (32-bit)
|
||||||
|
|
||||||
With the following options you get a Perl version which passes
|
With the following options you get a Perl version which passes
|
||||||
all make tests in 32-bit mode.
|
all make tests in 32-bit mode.
|
||||||
|
|
||||||
rm config.sh
|
rm config.sh
|
||||||
@ -207,36 +249,72 @@ all make tests in 32-bit mode.
|
|||||||
The -Dprefix option will install Perl in a directory parallel to the
|
The -Dprefix option will install Perl in a directory parallel to the
|
||||||
IBM AIX system Perl installation.
|
IBM AIX system Perl installation.
|
||||||
|
|
||||||
|
=head2 Recommended Options AIX 7.2 and 7.3 (threaded/64-bit)
|
||||||
|
|
||||||
|
With the following options you get a threaded Perl version which
|
||||||
|
passes all make tests in threaded 64-bit mode.
|
||||||
|
|
||||||
|
export OBJECT_MODE=64
|
||||||
|
# or (depending on your shell)
|
||||||
|
setenv OBJECT_MODE 64
|
||||||
|
rm config.sh
|
||||||
|
./Configure \
|
||||||
|
-d \
|
||||||
|
-Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
|
||||||
|
-Duseshrplib \
|
||||||
|
-Dusethreads \
|
||||||
|
-Duse64bitall \
|
||||||
|
-Dprefix=/usr/opt/perl5_64
|
||||||
|
|
||||||
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)
|
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (threaded/64-bit)
|
||||||
|
|
||||||
With the following options you get a threaded Perl version which
|
With the following options you get a threaded Perl version which
|
||||||
passes all make tests in 64-bit mode.
|
passes all make tests in 64-bit mode.
|
||||||
|
|
||||||
export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
|
export OBJECT_MODE=64
|
||||||
|
# or (depending on your shell)
|
||||||
|
setenv OBJECT_MODE 64
|
||||||
|
rm config.sh
|
||||||
|
./Configure \
|
||||||
|
-d \
|
||||||
|
-Dcc=cc_r \
|
||||||
|
-Duseshrplib \
|
||||||
|
-Dusethreads \
|
||||||
|
-Duse64bitall \
|
||||||
|
-Dprefix=/usr/opt/perl5_64
|
||||||
|
|
||||||
|
=head2 Recommended Options AIX 7.2 and 7.3 (64-bit)
|
||||||
|
|
||||||
|
With the following options you get a threaded Perl version which
|
||||||
|
passes all make tests in threaded 64-bit mode.
|
||||||
|
|
||||||
|
export OBJECT_MODE=64
|
||||||
|
# or (depending on your shell)
|
||||||
|
setenv OBJECT_MODE 64
|
||||||
|
rm config.sh
|
||||||
|
./Configure \
|
||||||
|
-d \
|
||||||
|
-Dcc=/opt/IBM/openxlC/17.1.3/bin/ibm-clang_r
|
||||||
|
-Duseshrplib \
|
||||||
|
-Duse64bitall \
|
||||||
|
-Dprefix=/usr/opt/perl5_64
|
||||||
|
|
||||||
rm config.sh
|
|
||||||
./Configure \
|
|
||||||
-d \
|
|
||||||
-Dcc=cc_r \
|
|
||||||
-Duseshrplib \
|
|
||||||
-Dusethreads \
|
|
||||||
-Duse64bitall \
|
|
||||||
-Dprefix=/usr/opt/perl5_64
|
|
||||||
|
|
||||||
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
|
=head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
|
||||||
|
|
||||||
With the following options you get a Perl version which passes all
|
With the following options you get a Perl version which passes all
|
||||||
make tests in 64-bit mode.
|
make tests in 64-bit mode.
|
||||||
|
|
||||||
export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
|
export OBJECT_MODE=64
|
||||||
|
# or (depending on your shell)
|
||||||
rm config.sh
|
setenv OBJECT_MODE 64
|
||||||
./Configure \
|
rm config.sh
|
||||||
-d \
|
./Configure \
|
||||||
-Dcc=cc_r \
|
-d \
|
||||||
-Duseshrplib \
|
-Dcc=cc_r \
|
||||||
-Duse64bitall \
|
-Duseshrplib \
|
||||||
-Dprefix=/usr/opt/perl5_64
|
-Duse64bitall \
|
||||||
|
-Dprefix=/usr/opt/perl5_64
|
||||||
|
|
||||||
The -Dprefix option will install Perl in a directory parallel to the
|
The -Dprefix option will install Perl in a directory parallel to the
|
||||||
IBM AIX system Perl installation.
|
IBM AIX system Perl installation.
|
||||||
@ -246,7 +324,6 @@ following option:
|
|||||||
|
|
||||||
-Dcc='gcc -maix64'
|
-Dcc='gcc -maix64'
|
||||||
|
|
||||||
|
|
||||||
=head2 Compiling Perl 5 on AIX 7.1.0
|
=head2 Compiling Perl 5 on AIX 7.1.0
|
||||||
|
|
||||||
A regression in AIX 7 causes a failure in make test in Time::Piece during
|
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
|
|||||||
in Eastern Time, would be to run C< TZ=EST5 date +%Z >. This will come
|
in Eastern Time, would be to run C< TZ=EST5 date +%Z >. This will come
|
||||||
back with C<EST> normally, but nothing if you have the problem.
|
back with C<EST> normally, but nothing if you have the problem.
|
||||||
|
|
||||||
|
|
||||||
=head2 Compiling Perl 5 on older AIX versions up to 4.3.3
|
=head2 Compiling Perl 5 on older AIX versions up to 4.3.3
|
||||||
|
|
||||||
Due to the fact that AIX 4.3.3 reached end-of-service in December 31,
|
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.
|
|||||||
|
|
||||||
You may get a warning when doing a threaded build:
|
You may get a warning when doing a threaded build:
|
||||||
|
|
||||||
"pp_sys.c", line 4640.39: 1506-280 (W) Function argument assignment
|
"pp_sys.c", line 4640.39: 1506-280 (W) Function argument assignment
|
||||||
between types "unsigned char*" and "const void*" is not allowed.
|
between types "unsigned char*" and "const void*" is not allowed.
|
||||||
|
|
||||||
The exact line number may vary, but if the warning (W) comes from a line
|
The exact line number may vary, but if the warning (W) comes from a line
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user