This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Changes.
[perl5.git] / README.hpux
index 332bd64..c2a0104 100644 (file)
@@ -15,7 +15,7 @@ compiled and/or runs.
 =head2 Using perl as shipped with HP-UX
 
 As of application release September 2001, HP-UX 11.00 is shipped with
-perl-5.6.1 in /opt/perl. The first occurrance is on CD 5012-7954 and
+perl-5.6.1 in /opt/perl. The first occurrence is on CD 5012-7954 and
 can be installed using
 
     swinstall -s /cdrom perl
@@ -70,8 +70,8 @@ The original version of PA-RISC, HP no longer sells any system with this chip.
 
 The following systems contained PA-RISC 1.0 chips:
 
-    600, 635, 645, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850, 852,
-    855, 860, 865, 870, 890
+    600, 635, 645, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850,
+    852, 855, 860, 865, 870, 890
 
 =head2 PA-RISC 1.1
 
@@ -80,15 +80,16 @@ system.
 
 The following systems contain with PA-RISC 1.1 chips:
 
-    705, 710, 712, 715, 720, 722, 725, 728, 730, 735, 742, 743, 744, 745, 747,
-    750, 755, 770, 777, 778, 779, 800, 801, 803, 806, 807, 809, 811, 813, 816,
-    817, 819, 821, 826, 827, 829, 831, 837, 839, 841, 847, 849, 851, 856, 857,
-    859, 867, 869, 877, 887, 891, 892, 897, A180, A180C, B115, B120, B132L,
-    B132L+, B160L, B180L, C100, C110, C115, C120, C160L, D200, D210, D220,
-    D230, D250, D260, D310, D320, D330, D350, D360, D410, DX0, DX5, DXO, E25,
-    E35, E45, E55, F10, F20, F30, G30, G40, G50, G60, G70, H20, H30, H40, H50,
-    H60, H70, I30, I40, I50, I60, I70, J200, J210, J210XC, K100, K200, K210,
-    K220, K230, K400, K410, K420, S700i, S715, S744, S760, T500, T520
+    705, 710, 712, 715, 720, 722, 725, 728, 730, 735, 742, 743, 744, 745,
+    747, 750, 755, 770, 777, 778, 779, 800, 801, 803, 806, 807, 809, 811,
+    813, 816, 817, 819, 821, 826, 827, 829, 831, 837, 839, 841, 847, 849,
+    851, 856, 857, 859, 867, 869, 877, 887, 891, 892, 897, A180, A180C,
+    B115, B120, B132L, B132L+, B160L, B180L, C100, C110, C115, C120,
+    C160L, D200, D210, D220, D230, D250, D260, D310, D320, D330, D350,
+    D360, D410, DX0, DX5, DXO, E25, E35, E45, E55, F10, F20, F30, G30,
+    G40, G50, G60, G70, H20, H30, H40, H50, H60, H70, I30, I40, I50, I60,
+    I70, J200, J210, J210XC, K100, K200, K210, K220, K230, K400, K410,
+    K420, S700i, S715, S744, S760, T500, T520
 
 =head2 PA-RISC 2.0
 
@@ -96,16 +97,17 @@ The most recent upgrade to the PA-RISC design, it added support for
 64-bit integer data.
 
 As of the date of this document's last update, the following systems
-contain PA-RISC 2.0 chips (this is very likely to be out of date):
-
-    700, 780, 781, 782, 783, 785, 802, 804, 810, 820, 861, 871, 879, 889, 893,
-    895, 896, 898, 899, A400, A500, B1000, B2000, C130, C140, C160, C180,
-    C180+, C180-XP, C200+, C400+, C3000, C360, C3600, CB260, D270, D280, D370,
-    D380, D390, D650, J220, J2240, J280, J282, J400, J410, J5000, J5500XM,
-    J5600, J7000, J7600, K250, K260, K260-EG, K270, K360, K370, K380, K450,
-    K460, K460-EG, K460-XP, K470, K570, K580, L1000, L2000, L3000, N4000,
-    R380, R390, SD16000, SD32000, SD64000, T540, T600, V2000, V2200, V2250,
-    V2500, V2600
+contain PA-RISC 2.0 chips:
+
+    700, 780, 781, 782, 783, 785, 802, 804, 810, 820, 861, 871, 879, 889,
+    893, 895, 896, 898, 899, A400, A500, B1000, B2000, C130, C140, C160,
+    C180, C180+, C180-XP, C200+, C400+, C3000, C360, C3600, CB260, D270,
+    D280, D370, D380, D390, D650, J220, J2240, J280, J282, J400, J410,
+    J5000, J5500XM, J5600, J7000, J7600, K250, K260, K260-EG, K270, K360,
+    K370, K380, K450, K460, K460-EG, K460-XP, K470, K570, K580, L1000,
+    L2000, L3000, N4000, R380, R390, RP2400, RP2430, RP2450, RP2470,
+    RP5400, RP5430, RP5450, RP5470, RP7400, RP7410, RP8400, SD16000,
+    SD32000, SD64000, T540, T600, V2000, V2200, V2250, V2500, V2600
 
 =head2 Itanium
 
@@ -113,7 +115,7 @@ HP also ships servers with the 128-bit Itanium processor(s). As of the
 date of this document's last update, the following systems contain
 Itanium chips (this is very likely to be out of date):
 
-    rx4610
+    RX4610, RX9610
 
 A complete list of models at the time the OS was built is in the file
 /opt/langtools/lib/sched.models.  The first column corresponds to the
@@ -126,7 +128,7 @@ chip type used. (Start browsing at the bottom to prevent confusion ;-)
 An executable compiled on a PA-RISC 2.0 platform will not execute on a
 PA-RISC 1.1 platform, even if they are running the same version of
 HP-UX.  If you are building Perl on a PA-RISC 2.0 platform and want that
-Perl to to also run on a PA-RISC 1.1, the compiler flags +DAportable and
+Perl to also run on a PA-RISC 1.1, the compiler flags +DAportable and
 +DS32 should be used.
 
 It is no longer possible to compile PA-RISC 1.0 executables on either
@@ -199,10 +201,13 @@ library that is already linked into perl.
 
 Some extensions, like DB_File and Compress::Zlib use/require prebuilt
 libraries for the perl extensions/modules to work. If these libraries
-are built using the default configuration, it might happen that you run
-into an error like "invalid loader fixup" during load phase. HP is aware
-of this problem and address it at
-  http://devresource.hp.com/devresource/Docs/TechTips/cxxTips.html#tip13
+are built using the default configuration, it might happen that you
+run into an error like "invalid loader fixup" during load phase.
+HP is aware of this problem.  Search the HP-UX cxx-dev forums for
+discussions about the subject.  The short answer is that B<everything>
+(all libraries, everything) must be compiled with C<+z> or C<+Z> to be
+PIC (position independent code).  In HP-UX 11.00 or newer the linker
+error message should tell the name of the offending object file.
 
 A more general approach is to intervene manually, as with an example for
 the DB_File module, which requires SleepyCat's libdb.sl:
@@ -249,6 +254,22 @@ flag -Aa is added to the cpprun and cppstdin variables in the config.sh
 file (though see the section on 64-bit perl below). If you are using a
 recent version of the Perl distribution, these flags are set automatically.
 
+=head2 The GNU C Compiler
+
+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).
+
+Building a 64bit capable gcc from source is possible only when you have
+the HP C-ANSI C compiler available, which you should use anyway when
+building perl.
+
 =head2 Using Large Files with Perl on HP-UX
 
 Beginning with HP-UX version 10.20, files larger than 2GB (2^31 bytes)
@@ -258,7 +279,8 @@ using the -Duselargefiles flag to Configure.  This causes Perl to be
 compiled using structures and functions in which these are 64 bits wide,
 rather than 32 bits wide.  (Note that this will only work with HP's ANSI
 C compiler.  If you want to compile Perl using gcc, you will have to get
-a version of the compiler that support 64-bit operations.)
+a version of the compiler that support 64-bit operations. See above for
+where to find it.)
 
 There are some drawbacks to this approach.  One is that any extension
 which calls any file-manipulating C function will need to be recompiled
@@ -297,12 +319,37 @@ is listed before -lc in the list of libraries to link Perl with. The
 hints provided for HP-UX during Configure will try very hard to get
 this right for you.
 
-HP-UX versions before 10.30 require a seperate installation of a POSIX
+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
 though worldwide HP-UX mirrors of precompiled packages
-(e.g. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html)
+(e.g. http://hpux.tn.tudelft.nl/hppd/hpux/)
+
+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
+library over time. Perl will build with the first version, but it
+will not pass the test suite. Older Oracle versions might be a compelling
+reason not to update that library, otherwise please find a newer version
+in one of the following patches: PHSS_19739, PHSS_20608, or PHSS_23672
+
+reformatted output:
+
+  d3:/usr/lib 106 > what libcma-*.1
+  libcma-00000.1:
+     HP DCE/9000 1.5               Module: libcma.sl (Export)
+                                   Date: Apr 29 1996 22:11:24
+  libcma-19739.1:
+     HP DCE/9000 1.5 PHSS_19739-40 Module: libcma.sl (Export)
+                                   Date: Sep  4 1999 01:59:07
+  libcma-20608.1:
+     HP DCE/9000 1.5 PHSS_20608    Module: libcma.1 (Export)
+                                   Date: Dec  8 1999 18:41:23
+  libcma-23672.1:
+     HP DCE/9000 1.5 PHSS_23672    Module: libcma.1 (Export)
+                                   Date: Apr  9 2001 10:01:06
+  d3:/usr/lib 107 >
+
 
 =head2 64-bit Perl on HP-UX
 
@@ -414,11 +461,12 @@ the same bug affects also Solaris.
 =head1 AUTHOR
 
 Jeff Okamoto <okamoto@corp.hp.com>
+H.Merijn Brand <h.m.brand@hccnet.nl>
 
 With much assistance regarding shared libraries from Marc Sabatella.
 
 =head1 DATE
 
-Version 0.6.4: 2001-10-09
+Version 0.6.5: 2002-02-27
 
 =cut