Compile problems on Centos

John Nash
2011-08-22
2013-04-18
  • John Nash
    John Nash
    2011-08-22

    Our Linux server was just upgraded from an aging SUSE distro to the latest Centos, and now I am re-installing stuff. (insert an <ugh> here).  I am having difficulties installing the latest Staden package (SVN version).

    My configure line is:

    sudo ./configure --prefix=/usr/molbin/staden_svn-2011-08-19 --with-io_lib=/usr/local/io_lib/ --with-tklib=/usr/local/lib/tklib0.5/
    

    io_lib is from SVN and works on my Mac, and our Ubuntu boxes. (I won't include itcl, itk and iwidgets until I get this working.)  The results are:

    ----------------------------------------------------------------------
    External packages used:
    curl:      via /usr/bin/curl-config
    zlib:      DIR (system)
    curses:    DIR (system)
    liblzma:   DIR 
    io_lib:    via /usr/local/io_lib//bin/io_lib-config
    Tcl:       via /usr/lib64/tclConfig.sh
    Tk:        via /usr/lib64/tkConfig.sh
    tklib:     /usr/local/lib/tklib0.5/
    Iwidgets:  ***NOT FOUND***
    Itcl:      ***NOT FOUND***
    Itk:       ***NOT FOUND***
    ----------------------------------------------------------------------
    

    It compiles and installs w/o problems but when I invoke any program, e.g. tg_index, I get:

    $ ./tg_index
    ./tg_index: error while loading shared libraries: libstaden-read.so.1: cannot open shared object file: No such file or directory
    

    If I include -disable-rpath in the ./configure line, I get:

    $ tg_index
    tg_index: error while loading shared libraries: libgap5.so: cannot open shared object file: No such file or directory
    

    The same goes for 'gap5', etc.

    Having -enable-64bit or not in the configure line makes no difference.

    I must have inadvertently done something daft but cannot figure out what it is.

    John

     
  • Thanks John,

    I'll install the latest version of Centos onto our test box and give it a go.

    Andrew

     
  • John Nash
    John Nash
    2011-08-29

    A fix, of sorts. 

    If you set $STADENROOT and export it, i.e.

    STADENROOT=/home/jnash/staden_bin/; export STADENROOT
    

    Then

    source $STADENROOT/share/staden/staden.profile
    

    , all works.

    Distro hell, huh?

     
  • Thanks again.  I haven't had time to install the new Centos at work to try it out yet.

    Andrew

     
  • John Nash
    John Nash
    2011-08-30

    There must be something wrong with my setup - some weird library stubs or something but when I moved the installation from a private one to /usr/molbin/staden (I did 'make clean' and reran configure with the new -prefix), it crapped out again.

    Sorry - it must just be my system.

     
  • John Nash
    John Nash
    2011-08-30

    *Phew*  I fixed the above-mentioned bug.

    Yes, Centos needs the two lines mentioned in post #3, and for some strange reason, on my system it does not like io_lib in /usr/local. As I said, it could be me, as I could have weird io_lib stubs floating around.  I re-made io_lib in the same place that I was going to install Staden, i.e $STADENROOT, remade the Staden package, and everything works.

    J