X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.tru64;h=64cefa95120585fbae6c9156fa279ed95a793ca1;hb=680d0beb650bdbbd6136e2939d2d4288dac7df6c;hp=c551a3659446574285e369116188b05240b9a3d9;hpb=ea3bceb2bcd46cf68b5a0ec2a0b3ecad83f11b45;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.tru64 b/README.tru64 index c551a36..64cefa9 100644 --- a/README.tru64 +++ b/README.tru64 @@ -15,11 +15,13 @@ is compiled and/or runs. =head2 Compiling Perl 5 on Tru64 The recommended compiler to use in Tru64 is the native C compiler. -The native compiler produces much faster code (the speed difference is -noticeable: several dozen percentages) and also more correct code: if you -are considering using the GNU C compiler you should use the gcc 2.95.3 -release since older gcc releases are known to produce buggy code when -compiling Perl. +The native compiler produces much faster code (the speed difference +is noticeable: several dozen percentages) and also more correct code: +if you are considering using the GNU C compiler you should use the +gcc 2.95.3 since all older gcc releases are known to produce broken +code when compiling Perl. One manifestation of this brokenness is +the lib/sdbm test dumping core; another is the op/regexp dumping core +(depending on the GCC release). =head2 Using Large Files with Perl on Tru64 @@ -40,6 +42,20 @@ example the regular expressions are not thread-safe. The bugs are very hard to fix are and therefore the 5.005 threads model is still classified as an experimental feature. +=head2 Long Doubles on Tru64 + +You cannot Configure Perl to use long doubles unless you have at least +Tru64 V5.0, the long double support simply wasn't functional before +that. + +At the time of this writing, there's a bug in the Tru64 libc printing +of long doubles when not using "e" notation. The values are correct +and usable, but you only get a limited number of digits displayed +unless you force the issue by using C or the like. +For Tru64 versions V5.0A through V5.1A, a patch is expected sometime after +perl 5.8.0 is released. If your libc has not yet been patched, you'll get +a warning from Configure when selecting long doubles. + =head2 64-bit Perl on Tru64 In Tru64 Perl's integers are automatically 64-bit wide, there is @@ -51,11 +67,13 @@ in INSTALL. Similarly, there is no need for -Duse64bitall. When compiling Perl in Tru64 you may (depending on the compiler release) see two warnings like this - cc: Warning: util.c, line 3797: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) + cc: Warning: numeric.c, line 104: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) return HUGE_VAL; -----------^ - cc: Warning: POSIX.xs, line 1304: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) +and when compiling the POSIX extension + + cc: Warning: const-c.inc, line 2007: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl) return HUGE_VAL; -------------------^ @@ -75,6 +93,24 @@ During "make test" the C will be skipped because on Tru64 it cannot be tested before Perl has been installed. The test refers to the use of the C<-P> option of Perl. +=head1 ext/ODBM_File/odbm Test Failing With Static Builds + +The ext/ODBM_File/odbm is known to fail with static builds +(Configure -Dusedl) due to a known bug in Tru64's static libdbm +library. The good news is that you very probably don't need to ever +use the ODBM_File extension since more advanced NDBM_File works fine, +not to mention the even more advanced DB_File. + +=head1 Perl Fails Because Of Unresolved Symbol sockatmark + +If you get an error like + + Can't load '.../OSF1/lib/perl5/5.8.0/alpha-dec_osf/auto/IO/IO.so' for module IO: Unresolved symbol in .../lib/perl5/5.8.0/alpha-dec_osf/auto/IO/IO.so: sockatmark at .../lib/perl5/5.8.0/alpha-dec_osf/XSLoader.pm line 75. + +you need to either recompile your Perl in Tru64 4.0D or upgrade your +Tru64 4.0D: the sockatmark() system call was added in Tru64 4.0F, and +the IO extension refers that symbol. + =head1 AUTHOR Jarkko Hietaniemi