octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changes in configure for Octave 4.0.1?


From: José Luis García Pallero
Subject: Re: Changes in configure for Octave 4.0.1?
Date: Mon, 28 Mar 2016 21:11:00 +0200

2016-03-28 17:31 GMT+02:00 Mike Miller <address@hidden>:
> On Mon, Mar 28, 2016 at 13:33:48 +0200, José Luis García Pallero wrote:
>> Thank you for your answer. I attached the config.log in my previous message.
>
> Thanks, I missed that, looked at both config.logs now.
>
>> I'll try to explain my new compilation attempt:
>>
>> I have these relevant packages installed:
>>
>> libblas-common
>> libblas3
>> libblas-dev
>> libblapack3
>> liblapack-dev
>> liblapack-pic
>> liblapacke
>> liblapacke-dev
>> libopenblas-base
>> libopenblas-dev
>> libarpack2
>> libarpack2-dev
>>
>> The update-alternatives shows that thedefault BLAS and Lapack in
>> /usr/lib are linked to the libraries provided by the openblas packages
>> and I've checked it inspecting the links via ls
>
> I now have the same configuration as you.
>
>> If I execute ./configure --prefix=/opt/octave/ CFLAGS=-O3 CXXFLAGS=-O3
>> FFLAGS=-O3 --with-hdf5-includedir=/usr/include/hdf5/serial
>> --with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial the configure
>> works but prints this warning:
>>
>> configure: WARNING: ARPACK library found, but does not seem to work
>> properly -- disabling eigs function
>>
>> I attach the config.log file to this message, but I would like to
>> comment a couple of things:
>>
>> The detected BLAS library is
>>
>> BLAS libraries:              -lopenblas
>>
>> as libopenblas-dev installs libopenblas.so (and .a) in /usr/lib
>> inaddition to the libblas and liblapack in /usr/lib/openblas (managed
>> later by umpate alternatives)
>>
>> The configure script doesn't print anything about Lapack:
>>
>> LAPACK libraries:
>>
>> but any error about is issued, so I understand Lapack is detected
>
> I have now installed libopenblas-dev and run configure and I don't see
> any errors with ARPACK here. So I'm not sure why you are seeing that.
> The relevant error message in your config.log (both prior and latest)
> is:
>
> ./conftest: symbol lookup error: /usr/lib/libblas.so.3: undefined symbol: 
> gotoblas
>
> but if you check /usr/lib/libblas.so.3 it should have a dependency on
> libopenblas.so.0 where the gotoblas symbol comes from. You said you also
> compiled OpenBLAS from source, do you happen to have LD_LIBARY_PATH or
> ld.so.conf pointing to the self-built libraries in /opt/openblas/lib?

Yes, you are right, I've defined the LD_LIBRARY_PATH for my OpenBLAS.
If I undefine it, the Octave configure works properly. But I still
have some questions about the configure internals. I'll try to ask
using examples:

1. If I uninstall the Debian openblas, maintain the reference BLAS and
Lapack and use my own OpenBLAS (only BLAS) via LD_LIBRARY_PATH the
configure script works without problems. The script detects -lopenblas
as BLAS because I've put the /opt/openblas/lib/ in LD_LIBRARY_PATH at
the begining and the system detects libopenblas.so before the
reference /usr/lib/libblas.so

2. If I install the Debian openblas, maintain the reference BLAS and
Lapack and turn off my own OpenBLAS, again the configure script works

3. If I install the Debian openblas, maintain the reference BLAS and
Lapack and maintain my own OpenBLAS via LD_LIBRARY_PATH come the
problems.

First, if I execute

./configure --prefix=/opt/octave/

I obtain an error about cheev_ doesn't found. In this case, the used
openblas is my own library and Lapack is the system one (-llapack from
the Debian openblas)

Second, if I execute

./configure --prefix=/opt/octave/
--with-blas=/opt/openblas/lib/libopenblas.so
--with-lapack=/usr/lib/lapack/liblapack.so

i.e., I select explicitly my own OpenBLAS and the system reference
Lapack stored in /usr/lib/lapack/liblapack.so, I obtain an
//usr/lib/libblas.so.3: undefined reference to `gotoblas' (I attach
the config.log_myopenblas). But the same configuration didn't produce
errors (this is the same configuration as in example 1 because here I
select explicitly the libraries involved in that example)

Third, if I execute

./configure --prefix=/opt/octave/
--with-blas=/usr/lib/openblas-base/libblas.so
--with-lapack=/usr/lib/openblas-base/liblapack.so

i.e., I select explicitly the Debian OpenBLAS, I obtain again (I
attach config.log_debianopenblas) the error about the undfined
reference of gotoblas in /usr/lib/openblas-base/libblas.so

Finally, if I execute

./configure --prefix=/opt/octave/ --with-blas=/usr/lib/libopenblas.so
--with-lapack=/usr/lib/libopenblas.so

i.e. another way to select explicitly the Debian OpenBLAS, because in
addition to /usr/lib/openblas-base/libblas.so and
/usr/lib/openblas-base/liblapack.so the library
/usr/lib/libopenblas.so is also installed, which contains BLAS and
Lapack. In this case the configure works but with the warning WARNING:
ARPACK library found, but does not seem to work properly -- disabling
eigs function (I attach config.log_arpack)

So the configuration works if I disable my OpenBLAS, but I don't
understand the behavior when both mine and the Debian one coexists and
I select explicitly one of them in the configure process

Thanks

>
> If not, if the linker is finding /usr/lib/libopenblas.so.0, then it
> should have that symbol and that error should not appear.
>
> --
> mike



-- 
*****************************************
José Luis García Pallero
address@hidden
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************

Attachment: config.log_myopenblas.tar.gz
Description: GNU Zip compressed data

Attachment: config.log_debianopenblas.tar.gz
Description: GNU Zip compressed data

Attachment: config.log_arpack.tar.gz
Description: GNU Zip compressed data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]