X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/bbe8372978680ed3788dc9752a23b00b0bca8736..486ffce2e3218c92f8211b19f0be2fc5532f8b57:/README.hpux diff --git a/README.hpux b/README.hpux index f1e1fea..7bd4b93 100644 --- a/README.hpux +++ b/README.hpux @@ -4,7 +4,7 @@ designed to be readable as is. =head1 NAME -README.hpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems +perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems =head1 DESCRIPTION @@ -41,9 +41,17 @@ of Perl and the updated modules. The official (threaded) builds from HP, as they are shipped on the Application DVD/CD's are available on -http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=PERL +L for both PA-RISC and IPF (Itanium Processor Family). They are built -with the HP ANSI-C compiler. +with the HP ANSI-C compiler. Up till 5.8.8 that was done by ActiveState. + +To see what version is included on the DVD (assumed here to be mounted +on /cdrom), issue this command: + + # swlist -s /cdrom perl + # perl D.5.8.8.B 5.8.8 Perl Programming Language + perl.Perl5-32 D.5.8.8.B 32-bit 5.8.8 Perl Programming Language with Extensions + perl.Perl5-64 D.5.8.8.B 64-bit 5.8.8 Perl Programming Language with Extensions =head2 Using perl from HP's porting centre @@ -61,7 +69,7 @@ HP has asked the porting centre to move Open Source binaries from /opt to /usr/local, so binaries produced since the start of July 2002 are located in /usr/local. -One of HP porting centres URL's is http://hpux.connect.org.uk/ +One of HP porting centres URL's is L The port currently available is built with GNU gcc. =head2 Compiling Perl 5 on HP-UX @@ -87,11 +95,11 @@ chips, but any machine with this chip in it is quite obsolete and this document will not attempt to address issues for compiling Perl on the Motorola chipset. -The most recent version of PA-RISC at the time of this document's last -update is 2.0. HP PA-RISC systems are usually refered to with model -description "HP 9000". The last CPU in this series is the PA-8900. -Support for PA-RISC architectured machines officially ends as shown -in the following table: +The version of PA-RISC at the time of this document's last update is 2.0, +which is also the last there will be. HP PA-RISC systems are usually +refered to with model description "HP 9000". The last CPU in this series +is the PA-8900. Support for PA-RISC architectured machines officially +ends as shown in the following table: PA-RISC End-of-Life Roadmap +--------+----------------+----------------+-----------------+ @@ -114,6 +122,10 @@ in the following table: | cores | | PA-8900/rp34x0 | 2014 | +--------+----------------+----------------+-----------------+ +From L + + The last order date for HP 9000 systems was December 31, 2008. + A complete list of models at the time the OS was built is in the file /usr/sam/lib/mo/sched.models. The first column corresponds to the last part of the output of the "model" command. The second column is the @@ -234,9 +246,10 @@ is told to have Madison 6. As of the date of this document's last update, the following systems contain Itanium or Itanium 2 chips (this is likely to be out of date): - BL60p, BL860c, cx2600, cx2620, rx1600, rx1620, rx2600, rx2600hptc, - rx2620, rx2660, rx3600, rx4610, rx4640, rx5670, rx6600, rx7420, - rx7620, rx7640, rx8420, rx8620, rx8640, rx9610, sx1000, sx2000 + BL60p, BL860c, BL870c, cx2600, cx2620, rx1600, rx1620, rx2600, + rx2600hptc, rx2620, rx2660, rx3600, rx4610, rx4640, rx5670, + rx6600, rx7420, rx7620, rx7640, rx8420, rx8620, rx8640, rx9610, + sx1000, sx2000 To see all about your machine, type @@ -244,6 +257,23 @@ To see all about your machine, type ia64 hp server rx2600 # /usr/contrib/bin/machinfo +=head2 HP-UX versions + +Not all architectures (PA = PA-RISC, IPF = Itanium Processor Family) +support all versions of HP-UX, here is a short list + + HP-UX version Kernel Architecture + ------------- ------ ------------ + 10.20 32 bit PA + 11.00 32/64 PA + 11.11 11i v1 32/64 PA + 11.22 11i v2 64 IPF + 11.23 11i v2 64 PA & IPF + 11.31 11i v3 64 PA & IPF + +See for the full list of hardware/OS support and expected end-of-life +L + =head2 Building Dynamic Extensions on HP-UX HP-UX supports dynamically loadable libraries (shared libraries). @@ -372,20 +402,20 @@ for updates/patches. Enter "ANSI" as keyword. When you are going to use the GNU C compiler (gcc), and you don't have gcc yet, you can either build it yourself from the sources (available -from e.g. http://www.gnu.ai.mit.edu/software/gcc/releases.html) or fetch -a prebuilt binary from the HP porting center. There are two places where -gcc prebuilds can be fetched; the first and best (for HP-UX 11 only) is -http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html -the second is http://hpux.cs.utah.edu/hppd/hpux/Gnu/ where you can also -find the GNU binutils package. (Browse through the list, because there -are often multiple versions of the same package available). +from e.g. L) or fetch +a prebuilt binary from the HP porting center. gcc prebuilds can be +fetched from +L +(Browse through the list, because there are often multiple versions of +the same package available). Above mentioned distributions are depots. H.Merijn Brand has made prebuilt -gcc binaries available on http://mirrors.develooper.com/hpux/ and/or -http://www.cmve.net/~merijn/ for HP-UX 10.20, HP-UX 11.00, and HP-UX 11.11 -(HP-UX 11i) in both 32- and 64-bit versions. These are bzipped tar archives -that also include recent GNU binutils and GNU gdb. Read the instructions -on that page to rebuild gcc using itself. +gcc binaries available on L and/or +L for HP-UX 10.20, HP-UX 11.00, HP-UX 11.11 +(HP-UX 11i v1), and HP-UX 11.23 (HP-UX 11i v2) in both 32- and 64-bit +versions. These are bzipped tar archives that also include recent GNU +binutils and GNU gdb. Read the instructions on that page to rebuild gcc +using itself. On PA-RISC you need a different compiler for 32-bit applications and for 64-bit applications. On PA-RISC, 32-bit objects and 64-bit objects do @@ -451,7 +481,8 @@ HP-UX versions before 10.30 require a separate installation of a POSIX threads library package. Two examples are the HP DCE package, available on "HP-UX Hardware Extensions 3.0, Install and Core OS, Release 10.20, April 1999 (B3920-13941)" or the Freely available PTH package, available -on H.Merijn's site (http://mirrors.develooper.com/hpux/). +on H.Merijn's site (L). The use of PTH +will be unsupported in perl-5.12 and up and is rather buggy in 5.11.x. If you are going to use the HP DCE package, the library used for threading is /usr/lib/libcma.sl, but there have been multiple updates of that @@ -559,25 +590,6 @@ If you are compiling Perl on a remotely-mounted NFS filesystem, the test io/fs.t may fail on test #18. This appears to be a bug in HP-UX and no fix is currently available. -=head2 perl -P and // and HP-UX - -If HP-UX Perl is compiled with flags that will cause problems if the --P flag of Perl (preprocess Perl code with the C preprocessor before -perl sees it) is used. The problem is that C, being a C++-style -until-end-of-line comment, will disappear along with the remainder -of the line. This means that common Perl constructs like - - s/foo//; - -will turn into illegal code - - s/foo - -The workaround is to use some other quoting separator than C<"/">, -like for example C<"!">: - - s!foo!!; - =head2 HP-UX Kernel Parameters (maxdsiz) for Compiling Perl By default, HP-UX comes configured with a maximum data segment size of @@ -622,6 +634,27 @@ bug seems to be to create add to the file F Whether you are using NIS does not matter. Amazingly enough, the same bug also affects Solaris. +=head1 error: pasting ")" and "l" does not give a valid preprocessing token + +There seems to be a broken system header file in HP-UX 11.00 that +breaks perl building in 32bit mode with GNU gcc-4.x causing this +error. The same file for HP-UX 11.11 (even though the file is older) +does not show this failure, and has the correct definition, so the +best fix is to patch the header to match: + + --- /usr/include/inttypes.h 2001-04-20 18:42:14 +0200 + +++ /usr/include/inttypes.h 2000-11-14 09:00:00 +0200 + @@ -72,7 +72,7 @@ + #define UINT32_C(__c) __CONCAT_U__(__c) + #else /* __LP64 */ + #define INT32_C(__c) __CONCAT__(__c,l) + -#define UINT32_C(__c) __CONCAT__(__CONCAT_U__(__c),l) + +#define UINT32_C(__c) __CONCAT__(__c,ul) + #endif /* __LP64 */ + + #define INT64_C(__c) __CONCAT_L__(__c,l) + + =head1 Miscellaneous HP-UX 11 Y2K patch "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000 @@ -638,8 +671,4 @@ Jeff Okamoto With much assistance regarding shared libraries from Marc Sabatella. -=head1 DATE - -Version 0.8.0: 2007-09-09 - =cut