From: H.Merijn Brand Date: Fri, 8 Oct 2004 09:52:59 +0000 (+0000) Subject: A new machine type, some reformatting, some reorganization X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=af8e01f26a6bc94de18e21a252964d57ac91474c;p=p5sagit%2Fp5-mst-13.2.git A new machine type, some reformatting, some reorganization and a bit of additional info on Sleepycat's db. p4raw-id: //depot/perl@23353 --- diff --git a/README.hpux b/README.hpux index 29c2a98..8f87006 100644 --- a/README.hpux +++ b/README.hpux @@ -18,19 +18,19 @@ As of application release September 2001, HP-UX 11.00 is shipped with 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 @@ -88,10 +88,23 @@ part of the output of the "model" command. The second column is the 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 @@ -99,8 +112,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 @@ -109,16 +122,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 @@ -128,72 +141,44 @@ The most recent upgrade to the PA-RISC design, it added support for 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, SD16000, SD32000, SD64000, T540, - T600, V2000, V2200, V2250, V2500, V2600 + 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. + 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, rp5400, - rp5405, rp5430, rp5450, rp5470, rp7400, rp7405, rp7410, rp7420, - rp8400, rp8420, Superdome + 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 & 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 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. + 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 @@ -207,6 +192,21 @@ 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). @@ -227,14 +227,14 @@ library cannot be loaded into an Itanium executable nor vice-versa. 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). @@ -273,32 +273,40 @@ 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: - # 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). @@ -497,16 +505,16 @@ 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 @@ -561,6 +569,6 @@ With much assistance regarding shared libraries from Marc Sabatella. =head1 DATE -Version 0.7.0: 2004-06-09 +Version 0.7.1: 2004-10-08 =cut