[GRASS-user] grass 6.2.3 cannot find BLAS

Dear all,

I just downloaded grass 6.2.3 and tried to compile it with BLAS in
OpenSUSE 10.2. The BLAS libraries are stored in /usr/lib, but the
configure script cannot find them even if I specify the
--with-blas-dir option. I compiled GRASS 6.2.2 a few weeks ago and
this was not a problem. The BLAS libraries have not changed since
then. Have I missed some recent changes?

Hernán

--

Hernán De Angelis
Linux user # 397217

Hernán De Angelis wrote on 11/30/2007 12:22 PM:

Dear all,

I just downloaded grass 6.2.3 and tried to compile it with BLAS in
OpenSUSE 10.2. The BLAS libraries are stored in /usr/lib, but the
configure script cannot find them even if I specify the
--with-blas-dir option. I compiled GRASS 6.2.2 a few weeks ago and
this was not a problem. The BLAS libraries have not changed since
then. Have I missed some recent changes?

AFAIK you don't need BLAS with GRASS 6.2.x - it won't be used anyway.
It's a future extension for the upcoming improvements in various
imagery commands.

Markus

Thanks for your clarification. But, why does the configure script not
find the blas libraries?

2007/11/30, Markus Neteler <neteler@fbk.eu>:

Hernán De Angelis wrote on 11/30/2007 12:22 PM:
> Dear all,
>
> I just downloaded grass 6.2.3 and tried to compile it with BLAS in
> OpenSUSE 10.2. The BLAS libraries are stored in /usr/lib, but the
> configure script cannot find them even if I specify the
> --with-blas-dir option. I compiled GRASS 6.2.2 a few weeks ago and
> this was not a problem. The BLAS libraries have not changed since
> then. Have I missed some recent changes?
AFAIK you don't need BLAS with GRASS 6.2.x - it won't be used anyway.
It's a future extension for the upcoming improvements in various
imagery commands.

Markus

--

Hernán De Angelis
Linux user # 397217

Hernán De Angelis wrote:

Thanks for your clarification. But, why does the configure script not
find the blas libraries?

There should be some clues (i.e. error messages) in the config.log
file.

--
Glynn Clements <glynn@gclements.plus.com>

Thanks for that! Here are the last lines of config.log. Configure
complains about undefined refernces to things. I guess it might be
something related to gcc/gfortran but I can't understand the cause of
the failure.

configure:12134: checking whether to use BLAS
configure:12156: checking for location of BLAS library
configure:12183: checking for dnrm2_ in -lblas
configure:12200: gcc -o conftest -g -O2 -Wl,--export-dynamic
conftest.c -lblas -lm 1>&5
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write_done'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_integer'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_stop_numeric'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_character'
collect2: ld returned 1 exit status
configure: failed program was:
#line 12189 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply. */
char dnrm2_();

int main() {
dnrm2_()
; return 0; }
configure:12219: checking for dnrm2_ in -lblas
configure:12236: gcc -o conftest -g -O2 -Wl,--export-dynamic
conftest.c -lblas -lm -lg2c 1>&5
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write_done'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_integer'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_stop_numeric'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_character'
collect2: ld returned 1 exit status
configure: failed program was:
#line 12225 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply. */
char dnrm2_();

int main() {
dnrm2_()
; return 0; }

2007/11/30, Glynn Clements <glynn@gclements.plus.com>:

Hernán De Angelis wrote:

> Thanks for your clarification. But, why does the configure script not
> find the blas libraries?

There should be some clues (i.e. error messages) in the config.log
file.

--
Glynn Clements <glynn@gclements.plus.com>

--

Hernán De Angelis
Linux user # 397217

Hernán De Angelis-2 wrote:

Thanks for your clarification. But, why does the configure script not
find the blas libraries?

It should. How did you specify it? (again, it's a waste of time AFAIK)

Markus
--
View this message in context: http://www.nabble.com/grass-6.2.3-cannot-find-BLAS-tf4922894.html#a14089871
Sent from the Grass - Users mailing list archive at Nabble.com.

--with-blas

2007/11/30, Markus Neteler <neteler@fbk.eu>:

Hernán De Angelis-2 wrote:
>
> Thanks for your clarification. But, why does the configure script not
> find the blas libraries?
>

It should. How did you specify it? (again, it's a waste of time AFAIK)

Markus
--
View this message in context: http://www.nabble.com/grass-6.2.3-cannot-find-BLAS-tf4922894.html#a14089871
Sent from the Grass - Users mailing list archive at Nabble.com.

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

--

Hernán De Angelis
Linux user # 397217

Hernán De Angelis wrote:

I just downloaded grass 6.2.3 and tried to compile it with BLAS in
OpenSUSE 10.2. The BLAS libraries are stored in /usr/lib, but the
configure script cannot find them even if I specify the
--with-blas-dir option. I compiled GRASS 6.2.2 a few weeks ago and
this was not a problem. The BLAS libraries have not changed since
then. Have I missed some recent changes?

From http://grass.ibiblio.org/grass63/source/REQUIREMENTS.html

* LAPACK / BLAS (libraries for numerical computing) for GMATH library (GRASS
numerical lib)
  [http://www.netlib.org/lapack\] (usually available on Linux distros)
  Note: the support is intended for future module implementations, no need to
use it at time!

Hamish

      ____________________________________________________________________________________
Get easy, one-click access to your favorites.
Make Yahoo! your homepage.
http://www.yahoo.com/r/hs

Hernán De Angelis wrote:

Thanks for that! Here are the last lines of config.log. Configure
complains about undefined refernces to things. I guess it might be
something related to gcc/gfortran but I can't understand the cause of
the failure.

configure:12134: checking whether to use BLAS
configure:12156: checking for location of BLAS library
configure:12183: checking for dnrm2_ in -lblas
configure:12200: gcc -o conftest -g -O2 -Wl,--export-dynamic
conftest.c -lblas -lm 1>&5
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write_done'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_integer'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_stop_numeric'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_transfer_character'
collect2: ld returned 1 exit status

It would seem to me that your copy of libblas was built missing the -lgfortran
switch in the Makefile (it's not linking to the gfortran library). i.e. your
BLAS package is broken. have a look at libblas.so with 'ldd' and/or 'nm -D'

Hamish

      ____________________________________________________________________________________
Be a better sports nut! Let your teams follow you
with Yahoo Mobile. Try it now. http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ

Hernán De Angelis wrote:

Thanks for that! Here are the last lines of config.log. Configure
complains about undefined refernces to things. I guess it might be
something related to gcc/gfortran but I can't understand the cause of
the failure.

configure:12134: checking whether to use BLAS
configure:12156: checking for location of BLAS library
configure:12183: checking for dnrm2_ in -lblas
configure:12200: gcc -o conftest -g -O2 -Wl,--export-dynamic
conftest.c -lblas -lm 1>&5
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libblas.so: undefined
reference to `_gfortran_st_write_done'

Your version of BLAS requires libgfortran (part of gcc 4.x) but
doesn't list it as a dependency.

The configure script has an explicit test for libg2c (the gcc 3.x
equivalent), but not for libgfortran.

6.3 has some support for gfortran and also the Atlas implementation.

--
Glynn Clements <glynn@gclements.plus.com>