perl-5.6.1 in /opt/perl. The first occurrence is on CD 5012-7954 and
can be installed using
- swinstall -s /cdrom perl
+ swinstall -s /cdrom perl
assuming you have mounted that CD on /cdrom. In this version the
following modules are 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
+ 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
The build is a portable hppa-1.1 multithread build that supports large
files compiled with gcc-2.9-hppa-991112
PA-RISC version and the third column is the exact chip type used.
(Start browsing at the bottom to prevent confusion ;-)
- # model
- 9000/800/L1000-44
- # grep L1000-44 /usr/sam/lib/mo/sched.models
- L1000-44 2.0 PA8500
+ # model
+ 9000/800/L1000-44
+ # grep L1000-44 /usr/sam/lib/mo/sched.models
+ L1000-44 2.0 PA8500
+
+=head2 Portability Between PA-RISC Versions
+
+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 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
+the PA-RISC 1.1 or 2.0 platforms. The command-line flags are accepted,
+but the resulting executable will not run when transferred to a PA-RISC
+1.0 system.
=head2 PA-RISC 1.0
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
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
As of the date of this document's last update, the following systems
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, RP2405, RP2430, RP2450,
- RP2470, RP5400, RP5405, RP5430, RP5450, RP5470, RP7400, RP7405,
- RP7410, RP8400, SD16000, SD32000, SD64000, T540, T600, V2000, V2200,
- V2250, V2500, V2600
-
-Just before HP took over Compaq, some systems were renamed. Visit
-http://www.hp.com/products1/servers/server_names.html to see what
-the changes are, or will be.
-
- HP 9000 A-Class servers, now renamed HP Server rp2400 series.
- HP 9000 L-Class servers, now renamed HP Server rp5400 series.
- HP 9000 N-Class servers, now renamed HP Server rp7400.
-
-=head2 Itanium
-
-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):
-
- RX2600, RX4610, RX5670, RX9610
-
-=head2 Portability Between PA-RISC Versions
-
-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 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
-the PA-RISC 1.1 or 2.0 platforms. The command-line flags are accepted,
-but the resulting executable will not run when transferred to a PA-RISC
-1.0 system.
+ 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
+
+Just before HP took over Compaq, some systems were renamed. the link
+that contained the explanation is dead, so here's a short summary:
+
+ HP 9000 A-Class servers, now renamed HP Server rp2400 series.
+ HP 9000 L-Class servers, now renamed HP Server rp5400 series.
+ HP 9000 N-Class servers, now renamed HP Server rp7400.
+
+ rp2400, rp2405, rp2430, rp2450, rp2470, rp3410, rp3440, rp4440,
+ rp5400, rp5405, rp5430, rp5450, rp5470, rp7400, rp7405, rp7410,
+ rp7420, rp8400, rp8420, Superdome
+
+The current naming convention is:
+
+ aadddd
+ ||||`+- 00 - 99 relative capacity & newness (upgrades, etc.)
+ |||`--- unique number for each architecture to ensure different
+ ||| systems do not have the same numbering across
+ ||| architectures
+ ||`---- 1 - 9 identifies family and/or relative positioning
+ ||
+ |`----- c = ia32 (cisc)
+ | p = pa-risc
+ | x = ia-64 (Itanium & Itanium 2)
+ | h = housing
+ `------ t = tower
+ r = rack optimized
+ s = super scalable
+ b = blade
+ sa = appliance
=head2 Itanium Processor Family and HP-UX
HP-UX also runs on the new Itanium processor. This requires the use
-of a different version of HP-UX (currently 11.20), and with the exception
-of a few differences detailed below and in later sections, Perl should
-compile with no problems.
+of a different version of HP-UX (currently 11.23 or 11i v1.6), and with
+the exception of a few differences detailed below and in later sections,
+Perl should compile with no problems.
Although PA-RISC binaries can run on Itanium systems, you should not
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.
+=head2 Itanium & Itanium 2
+
+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 or Itanium 2 chips (this is very likely to be out of date):
+
+ rx1600, rx2600, rx2600hptc, rx4610, rx4640, rx5670, rx7620, rx8620,
+ rx9610
+
+To see all about your machine, type
+
+ # model
+ ia64 hp server rx2600
+ # /usr/contrib/bin/machinfo
+
=head2 Building Dynamic Extensions on HP-UX
HP-UX supports dynamically loadable libraries (shared libraries).
To create a shared library, the following steps must be performed:
- 1. Compile source modules with +z or +Z flag to create a .o module
- which contains Position-Independent Code (PIC). The linker will
- tell you in the next step if +Z was needed.
- (For gcc, the appropriate flag is -fpic or -fPIC.)
+ 1. Compile source modules with +z or +Z flag to create a .o module
+ which contains Position-Independent Code (PIC). The linker will
+ tell you in the next step if +Z was needed.
+ (For gcc, the appropriate flag is -fpic or -fPIC.)
- 2. Link the shared library using the -b flag. If the code calls
- any functions in other system libraries (e.g., libm), it must
- be included on this line.
+ 2. Link the shared library using the -b flag. If the code calls
+ any functions in other system libraries (e.g., libm), it must
+ be included on this line.
(Note that these steps are usually handled automatically by the extension's
Makefile).
A more general approach is to intervene manually, as with an example for
the DB_File module, which requires SleepyCat's libdb.sl:
- # cd .../db-3.2.9/build_unix
- # vi Makefile
- ... add +Z to all cflags to create shared objects
- CFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
- -I/usr/local/include -I/usr/include/X11R6
- CXXFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
- -I/usr/local/include -I/usr/include/X11R6
-
- # make clean
- # make
- # mkdir tmp
- # cd tmp
- # ar x ../libdb.a
- # ld -b -o libdb-3.2.sl *.o
- # mv libdb-3.2.sl /usr/local/lib
- # rm *.o
- # cd /usr/local/lib
- # rm -f libdb.sl
- # ln -s libdb-3.2.sl libdb.sl
-
- # cd .../DB_File-1.76
- # make distclean
- # perl Makefile.PL
- # make
- # make test
- # make install
+ # cd .../db-3.2.9/build_unix
+ # vi Makefile
+ ... add +Z to all cflags to create shared objects
+ CFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
+ -I/usr/local/include -I/usr/include/X11R6
+ CXXFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
+ -I/usr/local/include -I/usr/include/X11R6
+
+ # make clean
+ # make
+ # mkdir tmp
+ # cd tmp
+ # ar x ../libdb.a
+ # ld -b -o libdb-3.2.sl *.o
+ # mv libdb-3.2.sl /usr/local/lib
+ # rm *.o
+ # cd /usr/local/lib
+ # rm -f libdb.sl
+ # ln -s libdb-3.2.sl libdb.sl
+
+ # cd .../DB_File-1.76
+ # make distclean
+ # perl Makefile.PL
+ # make
+ # make test
+ # make install
+
+As of db-4.2.x it is no longer needed to do this by hand. Sleepycat
+has changed the configuration process to add +z on HP-UX automatically.
+
+ # cd .../db-4.2.25/build_unix
+ # env CFLAGS=+DA2.0w LDFLAGS=+DA2.0w ../dist/configure
+
+should work to generate 64bit shared libraries for HP-UX 11.00 and 11i.
It is no longer possible to link PA-RISC 1.0 shared libraries (even
though the command-line flags are still present).
are often multiple versions of the same package available).
Above mentioned distributions are depots. H.Merijn Brand has made prebuilt
-gcc binaries available on https://www.beepz.com/personal/merijn/ and/or
-http://www.cmve.net/~merijn/ for HP-UX 10.20 and HP-UX 11.00 in both 32-
-and 64-bit versions. Most likely 11i will be available soon. 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.
-
-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.
+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.
+
+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
+not mix. period. There is no different behaviour for HP C-ANSI-C or GNU
+gcc. So if you require your perl binary to use 64-bit libraries, like
+Oracle-64bit, you MUST build a 64-bit perl.
+
+Building a 64-bit capable gcc on PA-RISC from source is possible only when
+you have the HP C-ANSI C compiler or an already working 64-bit binary of
+gcc available. Best performance for perl is achieved with HP's native
+compiler.
=head2 Using Large Files with Perl on HP-UX
to hold numbers larger than 2^32 with complete precision.
As of the date of this document, Perl is fully 64-bit compliant on
-HP-UX 11.00 and up for both ccc- and gcc builds.
+HP-UX 11.00 and up for both cc- and gcc builds. If you are about to
+build a 64-bit perl with GNU gcc, please read the gcc section carefully.
Should a user wish to experiment with compiling Perl in the LP64
environment, use the -Duse64bitall flag to Configure. This will force
-Perl to be compiled in a pure LP64 environment (via the +DD64 flag).
-(Note that these flags 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
+Perl to be compiled in a pure LP64 environment (with the +DD64 flag for
+HP C-ANSI-C, with no additional options for GNU gcc 64-bit on PA-RISC,
+and with -mlp64 for GNU gcc on Itanium).
+If you want to compile Perl using gcc, you will have to get a version of
the compiler that supports 64-bit operations.)
You can also use the -Duse64bitint flag to Configure. Although there
Do not forget the space before the trailing quote.
Also note that this does not (yet) work with all configurations,
-it is known to fail with 64bit versions of GCC.
+it is known to fail with 64-bit versions of GCC.
=head2 GDBM and Threads on HP-UX
=head2 perl -P and // and HP-UX
-In HP-UX Perl is compiled with flags that will cause problems if the
+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//;
+ s/foo//;
will turn into illegal code
- s/foo
+ s/foo
The workaround is to use some other quoting separator than C<"/">,
like for example C<"!">:
- s!foo!!;
+ s!foo!!;
=head2 HP-UX Kernel Parameters (maxdsiz) for Compiling Perl
=head1 DATE
-Version 0.6.7: 2002-09-05
+Version 0.7.1: 2004-10-08
=cut