This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
bump Pod::Simple to CPAN version 3.22
[perl5.git] / README.tru64
index 297cab8..81ef9fe 100644 (file)
@@ -4,7 +4,7 @@ designed to be readable as is.
 
 =head1 NAME
 
-README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
+perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
 
 =head1 DESCRIPTION
 
@@ -26,6 +26,27 @@ of the op/regexp and op/pat, or ext/Storable tests dumping core
 (the exact pattern of failures depending on the GCC release and
 optimization flags).
 
+gcc 3.2.1 is known to work okay with Perl 5.8.0.  However, when
+optimizing the toke.c gcc likes to have a lot of memory, 256 megabytes
+seems to be enough.  The default setting of the process data section
+in Tru64 should be one gigabyte, but some sites/setups might have
+lowered that.  The configuration process of Perl checks for too low
+process limits, and lowers the optimization for the toke.c if
+necessary, and also gives advice on how to raise the process limits.
+
+Also, Configure might abort with
+
+    Build a threading Perl? [n]
+    Configure[2437]: Syntax error at line 1 : 'config.sh' is not expected.
+
+This indicates that Configure is being run with a broken Korn shell
+(even though you think you are using a Bourne shell by using
+"sh Configure" or "./Configure").  The Korn shell bug has been reported
+to Compaq as of February 1999 but in the meanwhile, the reason ksh is
+being used is that you have the environment variable BIN_SH set to
+'xpg4'.  This causes /bin/sh to delegate its duties to /bin/posix/sh
+(a ksh).  Unset the environment variable and rerun Configure.
+
 =head2 Using Large Files with Perl on Tru64
 
 In Tru64 Perl is automatically able to use large files, that is,
@@ -42,6 +63,11 @@ Perl threading is going to work only in Tru64 4.0 and newer releases,
 older operating releases like 3.2 aren't probably going to work
 properly with threads.
 
+In Tru64 V5 (at least V5.1A, V5.1B) you cannot build threaded Perl with gcc
+because the system header <pthread.h> explicitly checks for supported
+C compilers, gcc (at least 3.2.2) not being one of them.  But the
+system C compiler should work just fine.
+
 =head2 Long Doubles on Tru64
 
 You cannot Configure Perl to use long doubles unless you have at least
@@ -59,23 +85,28 @@ 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 db-hash.t failing on Tru64
+=head2 DB_File tests failing on Tru64
+
+The DB_File tests (db-btree.t, db-hash.t, db-recno.t) may fail you
+have installed a newer version of Berkeley DB into the system and the
+-I and -L compiler and linker flags introduce version conflicts with
+the DB 1.85 headers and libraries that came with the Tru64.  For example, 
+mixing a DB v2 library with the DB v1 headers is a bad idea.  Watch
+out for Configure options -Dlocincpth and -Dloclibpth, and check your
+/usr/local/include and /usr/local/lib since they are included by default.
 
-The Berkeley DB 1.85 coming with the Tru64 is unfortunately buggy.
-In general in Tru64 V4.* it seemed to be more stable, but in V5.*
-something broke (even though the DB stayed at release 1.85) and
-the DB_File extension test db-hash.t may fail by dumping core after
-the subtest 21.  There really is no good cure as of Tru64 V5.1A expect
-installing a newer Berkeley DB and supplying the right directories for
--Dlocincpth=/some/include and -Dloclibpth=/some/lib when running Configure.
+The second option is to explicitly instruct Configure to detect the
+newer Berkeley DB installation, by supplying the right directories with
+C<-Dlocincpth=/some/include> and C<-Dloclibpth=/some/lib> B<and> before
+running "make test" setting your LD_LIBRARY_PATH to F</some/lib>.
 
-You can also work around the problem by disabling the DB_File by
-specifying -Ui_db to Configure, and then using the BerkeleyFile module
-from CPAN instead of DB_File.  The BerkeleyFile works with Berkeley DB
-versions 2.* or greater.
+The third option is to work around the problem by disabling the
+DB_File completely when build Perl by specifying -Ui_db to Configure,
+and then using the BerkeleyDB module from CPAN instead of DB_File.
+The BerkeleyDB works with Berkeley DB versions 2.* or greater.
 
-The Berkeley DB 4.0.14 has been tested with Tru64 V5.1A and found
-to work.  The latest Berkeley DB can be found from F<http://www.sleepycat.com>.
+The Berkeley DB 4.1.25 has been tested with Tru64 V5.1A and found
+to work.  The latest Berkeley DB can be found from L<http://www.sleepycat.com>.
 
 =head2 64-bit Perl on Tru64