Change 17808 by ams@lustre on 2002/08/30 02:59:31 Subject: [PATCH] Tru64 vs Berkeley DB From: Jarkko Hietaniemi <[EMAIL PROTECTED]> Date: Fri, 30 Aug 2002 06:56:38 +0300 Message-Id: <[EMAIL PROTECTED]>
Affected files ... .... //depot/perl/README.tru64#13 edit .... //depot/perl/hints/dec_osf.sh#49 edit Differences ... ==== //depot/perl/README.tru64#13 (text) ==== Index: perl/README.tru64 --- perl/README.tru64#12~17413~ Sun Jul 7 14:42:20 2002 +++ perl/README.tru64 Thu Aug 29 19:59:31 2002 @@ -63,6 +63,24 @@ has not yet been patched, you'll get a warning from Configure when selecting long doubles. +=head2 db-hash.t failing on Tru64 + +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. + +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 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>. + =head2 64-bit Perl on Tru64 In Tru64 Perl's integers are automatically 64-bit wide, there is ==== //depot/perl/hints/dec_osf.sh#49 (text) ==== Index: perl/hints/dec_osf.sh --- perl/hints/dec_osf.sh#48~17554~ Mon Jul 15 09:26:55 2002 +++ perl/hints/dec_osf.sh Thu Aug 29 19:59:31 2002 @@ -357,14 +357,10 @@ *[1-4].0*) d_modfl=undef ;; # must wait till 5.0 esac -# Keep those leading tabs. - needusrshlib='' +# Keep that leading tab. old_LD_LIBRARY_PATH=$LD_LIBRARY_PATH for p in $loclibpth do - if test -n "`ls $p/libdb.so* 2>/dev/null`"; then - needusrshlib=yes - fi if test -d $p; then echo "Appending $p to LD_LIBRARY_PATH." >& 4 case "$LD_LIBRARY_PATH" in @@ -377,14 +373,6 @@ "$old_LD_LIBRARY_PATH") ;; *) echo "LD_LIBRARY_PATH is now $LD_LIBRARY_PATH." >& 4 ;; esac -# This is evil but I can't think of a nice workaround: -# the /usr/shlib/libdb.so needs to be seen first, -# or running Configure will fail. -if test -n "$needusrshlib"; then - echo "Prepending /usr/shlib to loclibpth." >& 4 - loclibpth="/usr/shlib $loclibpth" - echo "loclibpth is now $loclibpth." >& 4 -fi # # Unset temporary variables no more needed. End of Patch.