On Thu, Aug 18, 2011 at 10:08 PM, Allin Cottrell <cottrell(a)wfu.edu> wrote:
> On Thu, 18 Aug 2011, Skipper Seabold wrote:
>
>> On Thu, Aug 18, 2011 at 7:13 PM, Allin Cottrell <cottrell(a)wfu.edu> wrote:
>>> On Thu, 18 Aug 2011, Skipper Seabold wrote:
>>>
>>>> On Thu, Aug 18, 2011 at 5:32 PM, Allin Cottrell <cottrell(a)wfu.edu> wrote:
>>>>> On Thu, 18 Aug 2011, Skipper Seabold wrote:
>>>>>
>>>>>> Trying to install gretl 1.9.5 from source due to the known seg faults
>>>>>> in the downstream ubuntu 11.04 repositories. I have all the
>>>>>> dependencies installed, except my lapack (3.2.2) was built with ATLAS
>>>>>> (3.9.2) with the same version of gcc I have installed. The lapack
>>>>>> stuff seems to be giving me troubles, though I'm not too sure why.
>>>>>
>>>>> No doubt this should be better documented, but if you want to build
>>>>> gretl against atlas you should use the LAPACK_LIBS environment
>>>>> variable. For example:
>>>>>
>>>>> LAPACK_LIBS='-L/your/atlas/lib -llapack -lf77blas -lcblas -latlas' \
>>>>> ./configure <options>
>>>>>
>>>>> You can't just replace -lblas with -lcblas, because more libraries
>>>>> are needed with an atlas build, including crucially libatlas.
>>>>
>>>> Right, I neglected to mention that I also tried to edit configure to link
>>>> against atlas, cblas, f77blas, etc. to the same effect about the hidden
>>>> symbol.
>>>>
>>>> Are you saying that all I need to do is define LAPACK_LIBS as such and then
>>>> run configure, or do I still need the with-lapack-prefix as well??
>>>
>>> Just use LAPACK_LIBS; the lapack-prefix thing is only for use where
>>> you have the standard "-llapack -lblas" linkage, but are using a
>>> non-standard installation directory.
>>
>> That's what I thought. It doesn't look like the LAPACK_LIBS options
>> are being passed to the compiler, but I haven't gone through the
>> configure script in great detail.
>>
>>>> [...] it fails to build, saying it can't find lblas
>>>
>>> "lblas"? Looks like a typo?
>>
>> This is why I changed -lblas to -lcblas and tried to add the other
>> libraries. I have libcblas.*, libf77blas.*, etc. but when I run
>> configure, it just tries the -llapack -lblas options instead of the
>> LAPACK_LIBS.
>
> I think that either your atlas installation is broken or you're not
> passing the correct LAPACK_LIBS variable.
>

All the tests passed when I installed it and I've been doing
numpy/scipy development and using R against it for a while.

> I just tried here on Ubuntu 10.04, using the latest stable lapack
> (3.3.1) plus latest stable atlas (3.8.4), libraries installed into
> /opt/atlas/lib. In configuring the gretl build I either pass
>
> LAPACK_LIBS='-L/opt/atlas/lib -llapack_atl -lf77blas \
>  -lcblas -latlas' [...]
>
> as part of the invocation of gretl's configure script, or else put
> the relevant variable into the environment via
>
> export LAPACK_LIBS='-L/opt/atlas/lib -llapack_atl \
>  -lf77blas -lcblas -latlas'
>
> before invoking ./configure. Either way the gretl build works OK.
> And 'grep lapack config.log' shows that what I specified for
> LAPACK_LIBS is being respected.
>
> But note: if your atlas libs are built without the correct
> dependencies being indicated to the linker, you may need to add
> elements to the LAPACK_LIBS variable, for example -lgfortran and
> -lgcc_s -- and in that case you may need to add symlinks to your
> system to define libgfortran.so and libgcc_s.so.
>

Genius. Adding lgcc and lgcc_s worked, though I don't know if the
former was necessary. I have never come across this before, though I
saw one or two similar errors while searching. For posterity here's
the error

/usr/bin/ld: conftest: hidden symbol `__powidf2' in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/libgcc.a(_powidf2.o)
is referenced by DSO

and an explanation why

http://stackoverflow.com/questions/4547384/difference-between-lgcc-s-and-gcc

Thanks for sanity checking me.

Cheers,

Skipper

Reply via email to