[Pw_forum] compilation problem
Vivek Ranjan
vranjan at ncsu.edu
Wed May 2 17:58:51 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