[Pw_forum] compilation problem

Vivek Ranjan vranjan at ncsu.edu
Wed May 2 17:35:58 CEST 2007


Hello !

I have been running program on a IBM power4 machine for a while. Recently,
I discovered that the results of the programme are sensitive to the
compilation options. I compiled the programme with three following options
and got three different results :

(1) ./configure
(2) ./configure LDFLAGS="-L/u2/wes/PET_HOME/MATH/IBM/lib64 -llapack -lessl
-q64"
(3) ./configure LDFLAGS="-L/u2/wes/PET_HOME/MATH/IBM/lib64 -lessl -llapack
-q64"

Even with options (2) and (3), "LAPACK_LIBS    = -lessl  -llapack" is set.
The system administrators had suggested me that I keep "-lessl" after
"-llapack" for these machines. The problem is that for versions 3.2 and
the latest cvs versions I can compile only with option (1). For,
options(2) and (3) I get an error message, which runs like this :

*******************************************************************************************************************
       ( cd clib ; if test "make" = "" ; then make  TLDEPS= all ;  else
make  TLDEPS= all ; fi )
       xlc_r -q64 -O2 -D__AIX -D__XLF -D__ESSL -D__MASS -D__MPI -D__PARA
-I../include   -c c_mkdir.c
"c_mkdir.c", line 42.5: 1506-033 (S) Function F77_FUNC_ is not valid.
Function cannot return a function.
"c_mkdir.c", line 49.41: 1506-045 (S) Undeclared identifier length.
"c_mkdir.c", line 51.19: 1506-045 (S) Undeclared identifier dirname.
"c_mkdir.c", line 62.11: 1506-1332 (W) A function with return type
"int(*)(const char*,const int*)" may not return a value of type "int".
"c_mkdir.c", line 74.5: 1506-033 (S) Function F77_FUNC_ is not valid.
Function cannot return a function.
"c_mkdir.c", line 74.5: 1506-343 (S) Redeclaration of F77_FUNC_ differs
from previous declaration on line 42 of "c_mkdir.c".
"c_mkdir.c", line 74.5: 1506-050 (I) Return type "int(const char*,const
int*,const char*,const int*)" in redeclaration is not compatible with the
previous return type "int(const char*,const int*)".
"c_mkdir.c", line 80.45: 1506-045 (S) Undeclared identifier oldlength.
"c_mkdir.c", line 81.45: 1506-045 (S) Undeclared identifier newlength.
"c_mkdir.c", line 83.23: 1506-045 (S) Undeclared identifier oldname.
"c_mkdir.c", line 84.23: 1506-045 (S) Undeclared identifier newname.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.
*********************************************************************************************************

I have also included a note from the system administrator :

*********** Sys Admin note ********************************
Our specialists responded with the following about ordering the -lessl and
-llapack flags:

>From the notes in make.sys it looks like -lessl should
be included before -llapack for this application.  Which
is a little unusual.

# For IBM machines with essl: load essl BEFORE lapack !
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order

They have a macro called __ESSL below which probably
alters the calling convention for the calls in ESSL that
are different than LAPACK, so it would probably be bad
to put -llapack first in this case.


Also, to help with debugging, are you willing to send us a link to where
you obtained your
source code or the location of the tar file on iceberg?

Thank you,
**************************************************************************

Any comments would be helpful.

Thank you,
Vivek




More information about the users mailing list