From: Jarkko Hietaniemi Date: Fri, 30 Aug 2002 06:56:38 +0000 (+0300) Subject: Tru64 vs Berkeley DB X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cfc8a8024406f6fb9714bbb00f3199af53485a87;p=p5sagit%2Fp5-mst-13.2.git Tru64 vs Berkeley DB Message-Id: <20020830035638.GB874@lyta.hut.fi> p4raw-id: //depot/perl@17808 --- diff --git a/README.tru64 b/README.tru64 index 877872c..ab21fe0 100644 --- a/README.tru64 +++ b/README.tru64 @@ -63,6 +63,24 @@ 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 + +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. + =head2 64-bit Perl on Tru64 In Tru64 Perl's integers are automatically 64-bit wide, there is diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index b3872fa..8ef151e 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -357,14 +357,10 @@ case "`/usr/sbin/sizer -v`" in *[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 @@ case "$LD_LIBRARY_PATH" in "$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.