Tru64

2004-07-26
2004-07-28
  • Craig Miskell
    Craig Miskell
    2004-07-26

    Hi,
    I've been trying to get staden running on our Alpha DS20 running Tru64 5.1B.  I've tried various things:
    1) The binaries, both 2003.02 and 1.4.0.  For both versions, most of the binaries work, but some give errors.  gap4 fails with:
    ************************************
    invalid command name "load_alignment_matrix"
        while executing
    "load_alignment_matrix [keylget gap_defs ALIGNMENT.MATRIX_FILE]"
        (file "/newapp/apps/staden1.4.1/alpha-bin/../lib/gap/gap.tcl" line 582)
    ************************************
    which looks to me like something missing in one of the staden tcl libraries (although that's a guess).  hetins and a few others complain with
    ************************************
    /sbin/loader: Fatal Error: Cannot map library libgcc_s.so.1
    ************************************
    which I believe is something to do with the version of gcc (said library is part of 3.1 and above)  We have the cygwin 2.9 version from the Tru64 open source collection. 

    2) Compiling from source - the compiler got in the way this time.  Both the version of gcc, and the built in cc, don't handle <cstdio> and friends.  I modified those, but couldn't find the equivalent replacement for <fstream> and <iomanip> (needed by mutlib/matrix.hpp).

    3) On a whim, I tried upgrading gcc to the latest (3.4.1), but neither my current gcc, nor cc, was able to compile it.  This was only a brief sidetrack, but I mention it for completness.

    Any ideas on what to try next are greatly appreciated.

    Thanks,
    Craig Miskell

     
    • James Bonfield
      James Bonfield
      2004-07-27

      They should work on Tru64 as it's what we use here.

      The load_alignment_matrix is basically the first function that gap4 calls that happens to be in the libgap.so file, so I am guessing that it failed to load correctly.

      Try setting the STADEN_DEBUG environment variable to 1. This should display various symbol errors. Anyway it sounds like you're seeing the error via different routes: missing libgcc_s.so.1. I should have included this in the binary distribution.

      Compiling the C++ code is a royal pain! It's pretty standard template stuff, but this seems to be very poorly supported on many systems. On older systems using "stlport" as an external package to implement STL works well. gcc 3.2 works as well.

      For what it's worth I've now switched to using
      the alpha native C++ compiler. Earlier versions failed horribly on this code, but CXX  V6.5-035 on Tru64 5.1B works for me. (See the CVS tree for the current alpha.mk).

      James

       
      • Craig Miskell
        Craig Miskell
        2004-07-28

        I put the libgcc_so.1 in $STADENROOT/lib/alpha-binaries and it worked perfectly.  Having turned on STADEN_DEBUG, you are rigth.  It was trying to load libgap (and libcopy_reads), but both required libgcc as well, causing the problems. 

        Everything appears hunky dory now.

        Thanks for your help,
        Craig