Commit | Line | Data |
ea3bceb2 |
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 Compaq's (formerly Digital's) |
12 | Unix operating system (Tru64) that will affect how Perl version 5 |
13 | is compiled and/or runs. |
14 | |
15 | =head2 Compiling Perl 5 on Tru64 |
16 | |
17 | The recommended compiler to use in Tru64 is the native C compiler. |
8fa7f367 |
18 | The native compiler produces much faster code (the speed difference |
19 | is noticeable: several dozen percentages) and also more correct code: |
20 | if you are considering using the GNU C compiler you should use the |
21 | gcc 2.95.3 since all older gcc releases are known to produce broken |
22 | code when compiling Perl. One manifestation of this brokenness is |
23 | the lib/sdbm test dumping core; another is the op/regexp dumping core |
24 | (depending on the GCC release). |
ea3bceb2 |
25 | |
26 | =head2 Using Large Files with Perl on Tru64 |
27 | |
28 | In Tru64 Perl is automatically able to use large files, that is, files |
29 | larger than 2 gigabytes, there is no need to use the Configure |
30 | -Duselargefiles option as described in INSTALL. |
31 | |
32 | =head2 Threaded Perl on Tru64 |
33 | |
34 | To compile Perl to use the old Perl 5.005 threads model, run Configure |
35 | with the -Dusethreads -Duse5005threads options as described in INSTALL. |
36 | This will probably only work in Tru64 4.0 and newer releases, older |
37 | operating releases like 3.2 aren't probably going to work properly |
38 | with threads. |
39 | |
40 | Beware: the Perl 5.005 threads model is known to have bugs, for |
41 | example the regular expressions are not thread-safe. The bugs are |
42 | very hard to fix are and therefore the 5.005 threads model is still |
43 | classified as an experimental feature. |
44 | |
bef5f079 |
45 | =head2 Long Doubles on Tru64 |
46 | |
47 | You cannot Configure Perl to use long doubles unless you have at least |
48 | Tru64 V5.0, the long double support simply wasn't functional before |
49 | that. |
50 | |
fa17d112 |
51 | At the time of this writing, there's a bug in the Tru64 libc printing |
52 | of long doubles when not using "e" notation. The values are correct |
53 | and usable, but you only get a limited number of digits displayed |
54 | unless you force the issue by using C<printf "%.33e",$num> or the like. |
55 | For Tru64 versions V5.0A through V5.1A, a patch is expected sometime after |
56 | perl 5.8.0 is released. If your libc has not yet been patched, you'll get |
57 | a warning from Configure when selecting long doubles. |
58 | |
ea3bceb2 |
59 | =head2 64-bit Perl on Tru64 |
60 | |
61 | In Tru64 Perl's integers are automatically 64-bit wide, there is |
62 | no need to use the Configure -Duse64bitint option as described |
63 | in INSTALL. Similarly, there is no need for -Duse64bitall. |
64 | |
65 | =head2 Warnings about floating-point overflow when compiling Perl on Tru64 |
66 | |
67 | When compiling Perl in Tru64 you may (depending on the compiler |
68 | release) see two warnings like this |
69 | |
d780cd7a |
70 | cc: Warning: numeric.c, line 104: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) |
ea3bceb2 |
71 | return HUGE_VAL; |
72 | -----------^ |
73 | |
74 | cc: Warning: POSIX.xs, line 1304: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) |
75 | return HUGE_VAL; |
76 | -------------------^ |
77 | |
78 | The exact line numbers may vary between Perl releases. |
79 | The warnings are benign and can be ignored. |
80 | |
81 | When the file F<pp_sys.c> is being compiled you may (depending on the |
82 | operating system release) see an additional compiler flag being used: |
83 | C<-DNO_EFF_ONLY_OK>. This is normal and refers to a feature that is |
84 | relevant only if you use the C<filetest> pragma. In older releases of |
85 | the operating system the feature was broken and the NO_EFF_ONLY_OK |
86 | instructs Perl not to use the feature. |
87 | |
88 | =head1 Testing Perl on Tru64 |
89 | |
90 | During "make test" the C<comp/cpp> will be skipped because on Tru64 it |
91 | cannot be tested before Perl has been installed. The test refers to |
92 | the use of the C<-P> option of Perl. |
93 | |
94 | =head1 AUTHOR |
95 | |
96 | Jarkko Hietaniemi <jhi@iki.fi> |
97 | |
98 | =cut |