Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


Problems installing staden 1.7.0 on linux

  • Hi all,

    I am trying to install the 32 bits staden-1.7.0 on a 32 bits chroot environment running on a 64 bits Ubuntu 7.04.
    I think that I set up all the paths correctly:

    $ ls $STADENROOT
    course  demo  doc  lib  linux-bin  staden.login  staden.profile  tables  userdata  Version
    $ echo $MACHINE
    $ ls $LD_LIBRARY_PATH 

    $ ls $STADTABL
    2bars_h.bmp           eia.wts          gaprc_menu_mito    m13mp18_primers  prokprom_35.wts  spin2rc
    2bars_v.bmp           emboss_menu      gaprc_menu_viewer  niprc            README           spin_embossrc
    align_lib_nuc_matrix  fak2rc           gcodes             NOTEDB           RENZYM.4         spinrc
    alus                  FEATCOLDB        GTAGDB             nuc_matrix       RENZYM.6         tk_utilsrc
    blast_data            FEATQUALDB       haplorc            pam250           RENZYM.ALL       trevrc
    cap2rc                FEATUREDB        help_config        perceptron.wts   renzyme_bairoch  unchecked.gif
    cap3rc                follow.bitmap    ied.wts            phraprc          seqedrc          vector_primer
    checked.gif           gaprc            itcl3.3rc          prefinishrc      shlib.conf       vectors
    config.prefinish      gaprc_menu_demo  itk3.3rc           pregap4rc        siprc
    copy_readsrc          gaprc_menu_full  iwidgetsrc         prokprom_10.wts  spin2_embossrc

    $ ls $STADLIB
    cap2        fak2   itcl3.3   linux-binaries  pregap4       spin_emboss   tk
    cap3        gap    itk3.3    phrap           spin          tablelist3.4  tk_utils
    copy_reads  haplo  iwidgets  prefinish       spin2_emboss  tcl           trev

    $ echo $PATH

    $ ls $TCL_LIBRARY
    auto.tcl     http1.0   init.tcl.02.10.02  ldAout.tcl     opt0.4       safe.tcl      tcltest2.2
    encoding     http2.4   init.tcl.orig      license.terms  package.tcl  tclAppInit.c  word.tcl
    history.tcl  init.tcl  ldAix              msgcat1.3      parray.tcl   tclIndex

    $ ls $TK_LIBRARY
    bgerror.tcl    entry.tcl         mkpsenc.tcl       panedwindow.tcl    scrlbar.tcl.orig  tkfbox.tcl.orig
    button.tcl     focus.tcl         msgbox.tcl        pkgIndex.tcl       spinbox.tcl       tk.tcl
    choosedir.tcl  images            msgs              pkgIndex.tcl.orig  tclIndex          unsupported.tcl
    clrpick.tcl    license.terms     obsolete.tcl          tearoff.tcl       xmfbox.tcl
    comdlg.tcl     listbox.tcl       optMenu.tcl       safetk.tcl         text.tcl          xmfbox.tcl.orig
    console.tcl    listbox.tcl.orig  palette.tcl       scale.tcl          tkAppInit.c
    dialog.tcl     menu.tcl          palette.tcl.orig  scrlbar.tcl        tkfbox.tcl

    But when I try to run any executable I have the following error:

    $ pregap
    invalid command name "load_package"
        while executing
    "load_package tk_utils"
        (file "/home/nas/pignatelli/download/staden-linux-x86-1-7-0/lib/trev/trev.tcl" line 1468)

    Does anyone have any idea on how to solve this?
    Thank you very much in advance,


    • D_Spencer


      My first question is why if you launch 'pregap4' ('pregap' is not in 1.7.0) do you get a message from 'trev.tcl'?
      'pregap4' is a script and at its end it has 'stash' run 'pregap4.tcl', which is in 'lib/pregap4'. About two thirds down that tcl file is 'load_package tk_utils'. So the error you're getting seems to be a second instance of that command ('load_package tk_utils'). 'Trev' is called by one of pregap4's modules, 'interactive_clip.p4m', but when you launch 'trev', 'spin' or 'gap4' do you get similar error messages?

      This seems to be an usual error even for 'staden'.

      You should check (although this probably isn't an issue) that your Staden' libraries are completely compatible with your OS environment. Go into $STADENROOT/lib/linux-binaries and do a 'file' on each library there (so 'file', 'file' and so on) and then try 'ldd' and so on. You should be worried if 'ldd' returns a "not found" for any of the referenced libraries, or if it gives the even more cryptic (and unreliable) error "file or directory not found" which would indicate that you have a conflict between 32 bit and 64 bit libraries.

      Dave Spencer

    • James Bonfield
      James Bonfield

      load_package is in $STADLIB/tk_utils/user_defaults.tcl

      The "stash" shell is basically Tcl with a few tweaks. Try starting stash and doing "puts $auto_path". Eg:

      % puts $auto_path
      /software/badger/opt/staden_test/lib/tcl /software/badger/opt/staden_test/lib /usr/local/lib /software/badger/opt/staden_test/lib/tk_utils

      Here we see the tk_utils directory listed. Make sure you have a tclIndex file in the tk_utils directory you've installed as this is used by the Tcl auto-loading system to provide the mapping of currently unloaded procedures to the files that provide them. Eg the auto-loading can be seen in use here:

      % info args load_package
      "load_package" isn't a procedure
      % load_package
      wrong # args: should be "load_package tcldir ?libdir? ?name? ?init?"
      % info args load_package
      tcldir libdir name init

      Finally, sometimes setting the STADEN_DEBUG environment variable can track down library issues. Some of the warnings issues are harmless (failure to find a .so file for a library which is pure-tcl and doesn't even need a C .so file) while others may be indicative of missing system components (libg2c perhaps seems quite common).