Boost logo

Ublas :

Subject: Re: [ublas] lapack bindings - linker errors in windows but not linux
From: Peter Man (plwm2_at_[hidden])
Date: 2010-04-21 13:34:42


I apologise in advance if I shouldn't be posting such questions in this
mailing list. And also thanks for all your help!

I did install atlas, but followed the instructions religiously,
including the bit where I do a fake configure
of atlas, then install full lapack, and then afterwards do a real
configure and install of atlas, which is supposed to link to the full
lapack installation if i tell it to.

So, I'm confused. Atlas only provides a partial lapack implementation,
but it creates a liblapack.a file during atlas installation. Is this
liblapack.a file supposed to
contain ONLY those lapack objects which atlas natively provides, or is
it supposed to contain the full lapack ones as well (which don't clash
with atlas' ones?),
given that I have supposedly linked the full lapack installation to
atlas during atlas installation? Am I right in saying that I would need
to use both Atlas' liblapack.a, as well as
the library file created by the full lapack installation, for my C++
program which will use both sets of lapack functions? Please forgive my
ignorance!

I checked the library file provided by my full lapack installation, and
it definitely contains the dgeqrf and other symbols, as expected.

I suppose things maybe easier if I installed clapack. But advice seems
to be that I stick to the old fortran version.

I hope that all makes sense...

Thanks again,
Peter

On 21/04/2010 17:40, Thomas Klimpel wrote:
> Peter Man wrote:
>
>> Or would this be better suited to asking Dr Whaley?
>>
> This could explain your misunderstanding. So you have only installed atlas, and only link against the libraries provided by atlas. So you were right, you probably have exactly the same problem/misunderstanding as the poster of " msg#00005".
>
> The simple answer is that atlas provides a complete blas implementation, but only a partial lapack implementation.
>
> Installing a complete lapack implementation is not difficult either. As long as you just work under cygwin, you can probably even find a cygwin package for it, but also building from source with gfortran is easy. For MSVC, you could use ACML or MKL or build the clapack package with cmake and MSVC. The cygwin version doesn't work for me with MSVC (but it links...), and I haven't found time yet to try whether compiling with MinGW instead of cygwin works better.
>
> Regards,
> Thomas
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: plwm2_at_[hidden]
>

-- 
--------------------------------------------------------------------------
Peter Man                 University of Cambridge,
                           Department of Chemical Engineering
                           and Biotechnology,
Tel. +44 (0)1223 334786   Pembroke Street,
Fax. +44 (0)1223 334796   Cambridge CB2 3RA, UK
email: mailto:plwm2_at_[hidden]
        mailto:plwm2_at_[hidden]
--------------------------------------------------------------------------