[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:11 Dec 2004 16:30:28 -0000 
Subject:Re: how do I access f77 libraries on linux (for lapack and blas)? 
From:Aaron Sloman 
Volume-ID: 

"Tim Prince" <tprince@nospamcomputer.org> writes:

> Date: Sat, 11 Dec 2004 14:02:43 GMT
> Organization: SBC http://yahoo.sbc.com
>
> "Aaron Sloman" <A.Sloman@cs.bham.ac.uk> wrote in message
> .....
> > The dynamic linker complained about 'undefined symbol' s_wsfe
> > and poplog aborted.
> >
> > When I reported this to David he responded:
> >
> > > Just had a quick look - on the Solaris system this symbol is defined in
> > > libF77.so. It may mean that you need to download a Fortran run-time
> > > library
> >
> > I suspect that the relevant F77 library is available for Linux and may
> > even be installed on one of the machines in our department, I but have
> > not been able to locate it.

> Presumably, you are using blas and lapack libraries compiled for g77, or
> possibly f2c.  If the former, the libg2c libraries are required, but ought
> to be installed automatically with a reasonable version of g77.  If you
> haven't set LD_LIBRARY_PATH, linux tends to look for .so libraries only in
> /usr/lib/ .

I forgot to say that I had previously discovered that one way to
make F77 libraries available is to libg2c, and I had found that on
our system it was available as
    /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/libg2c.so

which is actually a symbolic link to
    /usr/lib/libg2c.so.0

But even with that I got 'undefined symbol' s_wsfe

    strings /usr/lib/libg2c.so.0 |grep wsfe

produces
    e_wsfe
    s_wsfe

But I still get the undefined symbol error, which makes me think
that something in libg2c.so uses s_wsfe, but assumes that it is
defined somewhere else.

I have now noticed that there is a file

    /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/f771

moreover

    strings    /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/f771 | grep wsfe

produces
    s_wsfe
    e_wsfe

So that suggests that the library I am looking for is that f771
file.

However, it has no 'lib' prefix or '.so' suffix, which suggests that I
can't use it as a dynamically linked library. (I am very ignorant about
programming in C Fortran and similar languages).

If it is a static library only then I fear that what I am trying to do
may  be impossible.

I have just checked on a Sun and found that the library contains
    libF77.so

So maybe for some reason there's a suitable dynamic library on Solaris,
but not on linux.

If so, using this part of lapack may require a version of poplog that
has been statically linked with lapack and f771

Maybe someone understands my question better than I do and can suggest
a way to access that f771 file.

Thanks.
Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/  (also talks in /talks )
FREE BOOK: http://www.cs.bham.ac.uk/research/cogaff/crp/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/packages/simagent.html