| 1 | If you read this file _as_is_, just ignore the funny characters you see.
|
|---|
| 2 | It is written in the POD format (see pod/perlpod.pod) which is specially
|
|---|
| 3 | designed to be readable as is.
|
|---|
| 4 |
|
|---|
| 5 | =head1 NAME
|
|---|
| 6 |
|
|---|
| 7 | README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
|
|---|
| 8 |
|
|---|
| 9 | =head1 DESCRIPTION
|
|---|
| 10 |
|
|---|
| 11 | This document describes various features of HP's (formerly Compaq's,
|
|---|
| 12 | formerly Digital's) Unix operating system (Tru64) that will affect
|
|---|
| 13 | how Perl version 5 (hereafter just Perl) is configured, compiled
|
|---|
| 14 | and/or runs.
|
|---|
| 15 |
|
|---|
| 16 | =head2 Compiling Perl 5 on Tru64
|
|---|
| 17 |
|
|---|
| 18 | The recommended compiler to use in Tru64 is the native C compiler.
|
|---|
| 19 | The native compiler produces much faster code (the speed difference is
|
|---|
| 20 | noticeable: several dozen percentages) and also more correct code: if
|
|---|
| 21 | you are considering using the GNU C compiler you should use at the
|
|---|
| 22 | very least the release of 2.95.3 since all older gcc releases are
|
|---|
| 23 | known to produce broken code when compiling Perl. One manifestation
|
|---|
| 24 | of this brokenness is the lib/sdbm test dumping core; another is many
|
|---|
| 25 | of the op/regexp and op/pat, or ext/Storable tests dumping core
|
|---|
| 26 | (the exact pattern of failures depending on the GCC release and
|
|---|
| 27 | optimization flags).
|
|---|
| 28 |
|
|---|
| 29 | gcc 3.2.1 is known to work okay with Perl 5.8.0. However, when
|
|---|
| 30 | optimizing the toke.c gcc likes to have a lot of memory, 256 megabytes
|
|---|
| 31 | seems to be enough. The default setting of the process data section
|
|---|
| 32 | in Tru64 should be one gigabyte, but some sites/setups might have
|
|---|
| 33 | lowered that. The configuration process of Perl checks for too low
|
|---|
| 34 | process limits, and lowers the optimization for the toke.c if
|
|---|
| 35 | necessary, and also gives advice on how to raise the process limits.
|
|---|
| 36 |
|
|---|
| 37 | =head2 Using Large Files with Perl on Tru64
|
|---|
| 38 |
|
|---|
| 39 | In Tru64 Perl is automatically able to use large files, that is,
|
|---|
| 40 | files larger than 2 gigabytes, there is no need to use the Configure
|
|---|
| 41 | -Duselargefiles option as described in INSTALL (though using the option
|
|---|
| 42 | is harmless).
|
|---|
| 43 |
|
|---|
| 44 | =head2 Threaded Perl on Tru64
|
|---|
| 45 |
|
|---|
| 46 | If you want to use threads, you should primarily use the new Perl
|
|---|
| 47 | 5.8.0 threads model by running Configure with -Duseithreads.
|
|---|
| 48 |
|
|---|
| 49 | The old Perl 5.005 threads is obsolete, unmaintained, and its use is
|
|---|
| 50 | discouraged. If you really want it, run Configure with the
|
|---|
| 51 | -Dusethreads -Duse5005threads options as described in INSTALL.
|
|---|
| 52 |
|
|---|
| 53 | Either thread model is going to work only in Tru64 4.0 and newer
|
|---|
| 54 | releases, older operating releases like 3.2 aren't probably going
|
|---|
| 55 | to work properly with threads.
|
|---|
| 56 |
|
|---|
| 57 | In Tru64 V5 (at least V5.1A, V5.1B) you cannot build threaded Perl with gcc
|
|---|
| 58 | because the system header <pthread.h> explicitly checks for supported
|
|---|
| 59 | C compilers, gcc (at least 3.2.2) not being one of them. But the
|
|---|
| 60 | system C compiler should work just fine.
|
|---|
| 61 |
|
|---|
| 62 | =head2 Long Doubles on Tru64
|
|---|
| 63 |
|
|---|
| 64 | You cannot Configure Perl to use long doubles unless you have at least
|
|---|
| 65 | Tru64 V5.0, the long double support simply wasn't functional enough
|
|---|
| 66 | before that. Perl's Configure will override attempts to use the long
|
|---|
| 67 | doubles (you can notice this by Configure finding out that the modfl()
|
|---|
| 68 | function does not work as it should).
|
|---|
| 69 |
|
|---|
| 70 | At the time of this writing (June 2002), there is a known bug in the
|
|---|
| 71 | Tru64 libc printing of long doubles when not using "e" notation.
|
|---|
| 72 | The values are correct and usable, but you only get a limited number
|
|---|
| 73 | of digits displayed unless you force the issue by using C<printf
|
|---|
| 74 | "%.33e",$num> or the like. For Tru64 versions V5.0A through V5.1A, a
|
|---|
| 75 | patch is expected sometime after perl 5.8.0 is released. If your libc
|
|---|
|
|---|