This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Explicitly use and check for FD_CLOEXEC.
[perl5.git] / README.hpux
index 7bd4b93..b36b4dd 100644 (file)
@@ -20,23 +20,13 @@ occurrence is on CD 5012-7954 and can be installed using
 
   swinstall -s /cdrom perl
 
-assuming you have mounted that CD on /cdrom. In this version the
-following modules were installed:
-
-  ActivePerl::DocTools-0.04   HTML::Parser-3.19   XML::DOM-1.25
-  Archive::Tar-0.072          HTML::Tagset-3.03   XML::Parser-2.27
-  Compress::Zlib-1.08         MIME::Base64-2.11   XML::Simple-1.05
-  Convert::ASN1-0.10          Net-1.07            XML::XPath-1.09
-  Digest::MD5-2.11            PPM-2.1.5           XML::XSLT-0.32
-  File::CounterFile-0.12      SOAP::Lite-0.46     libwww-perl-5.51
-  Font::AFM-1.18              Storable-1.011      libxml-perl-0.07
-  HTML-Tree-3.11              URI-1.11            perl-ldap-0.23
+assuming you have mounted that CD on /cdrom.
 
 That build was a portable hppa-1.1 multithread build that supports large
 files compiled with gcc-2.9-hppa-991112.
 
 If you perform a new installation, then (a newer) Perl will be installed
-automatically.  Preinstalled HP-UX systems now slao have more recent versions
+automatically.  Pre-installed HP-UX systems now have more recent versions
 of Perl and the updated modules.
 
 The official (threaded) builds from HP, as they are shipped on the
@@ -53,17 +43,28 @@ on /cdrom), issue this command:
     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
 
+To see what is installed on your system:
+
+  # swlist -R perl
+  # perl                    E.5.8.8.J  Perl Programming Language
+  # perl.Perl5-32           E.5.8.8.J  32-bit Perl Programming Language with Extensions
+    perl.Perl5-32.PERL-MAN  E.5.8.8.J  32-bit Perl Man Pages for IA
+    perl.Perl5-32.PERL-RUN  E.5.8.8.J  32-bit Perl Binaries for IA
+  # perl.Perl5-64           E.5.8.8.J  64-bit Perl Programming Language with Extensions
+    perl.Perl5-64.PERL-MAN  E.5.8.8.J  64-bit Perl Man Pages for IA
+    perl.Perl5-64.PERL-RUN  E.5.8.8.J  64-bit Perl Binaries for IA
+
 =head2 Using perl from HP's porting centre
 
-HP porting centre tries very hard to keep up with customer demand and
-release updates from the Open Source community. Having precompiled
-Perl binaries available is obvious.
+HP porting centre tries to keep up with customer demand and release
+updates from the Open Source community. Having precompiled Perl binaries
+available is obvious, though "up-to-date" is something relative. At the
+moment of writing only perl-5.10.1 was available (with 5.16.3 being the
+latest stable release from the porters point of view).
 
 The HP porting centres are limited in what systems they are allowed
 to port to and they usually choose the two most recent OS versions
-available. This means that at the moment of writing, there are only
-HP-UX 11.11 (pa-risc 2.0) and HP-UX 11.23 (Itanium 2) ports available
-on the porting centres.
+available.
 
 HP has asked the porting centre to move Open Source binaries
 from /opt to /usr/local, so binaries produced since the start
@@ -72,6 +73,12 @@ of July 2002 are located in /usr/local.
 One of HP porting centres URL's is L<http://hpux.connect.org.uk/>
 The port currently available is built with GNU gcc.
 
+=head2 Other prebuilt perl binaries
+
+To get even more recent perl depots for the whole range of HP-UX, visit
+H.Merijn Brand's site at L<http://mirrors.develooper.com/hpux/#Perl>.
+Carefully read the notes to see if the available versions suit your needs.
+
 =head2 Compiling Perl 5 on HP-UX
 
 When compiling Perl, you must use an ANSI C compiler.  The C compiler
@@ -97,7 +104,7 @@ Motorola chipset.
 
 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
+referred 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:
 
@@ -236,7 +243,7 @@ attempt to use a PA-RISC version of Perl on an Itanium system.  This is
 because shared libraries created on an Itanium system cannot be loaded
 while running a PA-RISC executable.
 
-HP Itanium 2 systems are usually refered to with model description
+HP Itanium 2 systems are usually referred to with model description
 "HP Integrity".
 
 =head2 Itanium, Itanium 2 & Madison 6
@@ -246,8 +253,8 @@ 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, BL870c, cx2600, cx2620, rx1600, rx1620, rx2600,
-  rx2600hptc, rx2620, rx2660, rx3600, rx4610, rx4640, rx5670,
+  BL60p, BL860c, BL870c, BL890c, cx2600, cx2620, rx1600, rx1620, rx2600,
+  rx2600hptc, rx2620, rx2660, rx2800, rx3600, rx4610, rx4640, rx5670,
   rx6600, rx7420, rx7620, rx7640, rx8420, rx8620, rx8640, rx9610,
   sx1000, sx2000
 
@@ -262,14 +269,14 @@ To see all about your machine, type
 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
+  HP-UX version  Kernel  Architecture End-of-factory support
+  -------------  ------  ------------ ----------------------------------
+  10.20          32 bit  PA           30-Jun-2003
+  11.00          32/64   PA           31-Dec-2006
+  11.11  11i v1  32/64   PA           31-Dec-2015
+  11.22  11i v2     64        IPF     30-Apr-2004
+  11.23  11i v2     64   PA & IPF     31-Dec-2015
+  11.31  11i v3     64   PA & IPF     31-Dec-2020 (PA) 31-Dec-2022 (IPF)
 
 See for the full list of hardware/OS support and expected end-of-life
 L<http://www.hp.com/go/hpuxservermatrix>
@@ -403,19 +410,19 @@ 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. L<http://gcc.gnu.org/mirrors.html>) or fetch
-a prebuilt binary from the HP porting center. gcc prebuilds can be
-fetched from
-L<http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html>
+a prebuilt binary from the HP porting center
+at L<http://hpux.connect.org.uk/hppd/cgi-bin/search?term=gcc&Search=Search>
+or from the DSPP (you need to be a member) at
+L<http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=2a08725cc2f02110725cc2f02110275d6e10RCRD&jumpid=reg_r1002_usen_c-001_title_r0001>
 (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
+Most mentioned distributions are depots. H.Merijn Brand has made prebuilt
 gcc binaries available on L<http://mirrors.develooper.com/hpux/> and/or
-L<http://www.cmve.net/~merijn/> 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.
+L<http://www.cmve.net/~merijn/> for HP-UX 10.20 (only 32bit), HP-UX 11.00,
+HP-UX 11.11 (HP-UX 11i v1), and HP-UX 11.23 (HP-UX 11i v2 PA-RISC) in both
+32- and 64-bit versions. For HP-UX 11.23 IPF and HP-UX 11.31 IPF depots are
+available too. The IPF versions do not need two versions of GNU gcc.
 
 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
@@ -654,6 +661,26 @@ best fix is to patch the header to match:
 
   #define INT64_C(__c)                    __CONCAT_L__(__c,l)
 
+=head1 Redeclaration of "sendpath" with a different storage class specifier
+
+The following compilation warnings may happen in HP-UX releases
+earlier than 11.31 but are harmless:
+
+  cc: "/usr/include/sys/socket.h", line 535: warning 562: Redeclaration of "sendfile" with a different storage class specifier: "sendfile" will have internal linkage.
+  cc: "/usr/include/sys/socket.h", line 536: warning 562: Redeclaration of "sendpath" with a different storage class specifier: "sendpath" will have internal linkage.
+
+They seem to be caused by broken system header files, and also other
+open source projects are seeing them.  The following HP-UX patches
+should make the warnings go away:
+
+  CR JAGae12001: PHNE_27063
+  Warning 562 on sys/socket.h due to redeclaration of prototypes
+
+  CR JAGae16787:
+  Warning 562 from socket.h sendpath/sendfile -D_FILEFFSET_BITS=64
+
+  CR JAGae73470 (11.23)
+  ER: Compiling socket.h with cc -D_FILEFFSET_BITS=64 warning 267/562
 
 =head1 Miscellaneous