Page 1 of 1

Problems compiling the BLACS Tester

PostPosted: Wed Feb 08, 2006 8:05 am
by Zahid_Aziz
I have been trying to compile the Blacs Tester files (from the archive www.netlib.org/blacs/blacstester.tgz) using the supplied 'make' file. Our compilers are g77 and gcc. Doing 'make' produces a large number of warning messages of the following form:

----------
blacstest.f: In subroutine `runtests':
blacstest.f:150: warning:
CALL RUNTESTS( MEM, MEMLEN, CMEM, CMEMSIZ, PREC, NPREC, OUTNUM,
1
blacstest.f:178: (continued):
SUBROUTINE RUNTESTS( MEM, MEMLEN, CMEM, CMEMLEN, PREC, NPREC,
2
Argument #1 (named `mem') of `runtests' is one type at (2) but is some other type at (1) [info -f g77 M GLOBALS]
----------

Looking at the Fortran source code of blacstest.f, this is because in the main program the array MEM is declared as Double Precision but in the subroutine it is declared as Integer. I presume there is some reason behind this difference in the declarations.

Although these appear as warnings, the Make fails with the message:

make: *** [blacstest.o] Error 1

and no object files or exectuable are created, as far as I can see.

I seem to have compiled the Blacs themselves correctly, and so my Bmake.inc should be correct.

Any help/advice would be appreciated.

Zahid Aziz
The University of Nottingham
Nottingham
England

PostPosted: Wed Feb 08, 2006 8:47 am
by Julie
Zahid,

change BLACS/TESTING/Makefile line 39 from:
Code: Select all
$(F77) $(F77NO_OPTFLAGS) -c $*.f
to:
Code: Select all
$(F77) $(F77NO_OPTFLAGS) -fno-globals -fno-f90 -fugly-complex -w -c $*.f

For more information, see: http://www.netlib.org/blacs/blacs_errata.html#TestErrata

It should solve your problem
Sincerly
Julie

PostPosted: Thu Feb 09, 2006 7:54 am
by Zahid_Aziz
Julie,

Thanks very much. That has worked. When I now run the Blacs Tester I receive the following error messages. These might well be related to our system, but perhaps you could give us a few pointers on what might be producing them:

------

BLACS WARNING 'No need to set message ID range due to MPI communicator.'
from {-1,-1}, pnum=0, Contxt=-1, on line 18 of file 'blacs_set_.c'.

BLACS ERROR 'Illegal grid (2 x 2), #procs=1'
from {-1,-1}, pnum=0, Contxt=-1, on line -1 of file 'BLACS_GRIDINIT/BLACS_GRIDMAP'.

[0] MPI Abort by user Aborting program !
[0] Aborting program!
FEP:ERROR Illegal resource specification, or
'/home/cczaziz/blas_testing/./xFbtest_MPI-LINUX-0' is not an SCore application.

------

SCore is the implementation of MPI on our HPC Grid.

Thanks,
Zahid Aziz

PostPosted: Thu Feb 09, 2006 4:53 pm
by Julie
Zahid,

It seems that your are running the BLACS tester on only 1 processor.
BLACS ERROR 'Illegal grid (2 x 2), #procs=1'

The BLACS tester needs at least 4 processors.

Don't pay attention to the warning message.

It hope it will solve your problem.
Sincerely
Julie