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?
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.
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.
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_();
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?
* 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
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'
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.