[Pw_forum] Cray compilation problems report.
FELIPE VALENCIA
felipe at titan.ipicyt.edu.mx
Fri Sep 19 19:54:54 CEST 2003
Hi there,
I have been trying to compile the latest version of pwscf on a cray
machine, and have found some minor (apparentely) problems.
First, when compiling with the cray scilib library, I encountered the
same
"dfftp undeclared"/"something like that"
problem that has been reported by
other guys in the mailist, and
used the Guido Roma proposal to solve it. It is remarkable that this
error dissappears when
compiling against the included fftw.
Then, several references to double precision
routines remained in the distro (I guess some precompiling options are
still lacking):
The symbol `ZDOTC' referenced in relocatable object
`bp_c_phase.o:C_PHASE' is not defined.
cld-404 cld: WARNING
The symbol `IZAMAX' referenced in relocatable object `bp_zgefa.o:ZGEFA'
is not defined.
cld-404 cld: WARNING
The symbol `ZSCAL' referenced in relocatable object `bp_zgefa.o:ZGEFA'
is not defined.
cld-404 cld: WARNING
The symbol `ZAXPY' referenced in relocatable object `bp_zgefa.o:ZGEFA'
is not defined.
cld-404 cld: WARNING
The symbol `ZSWAP' referenced in relocatable object `bp_zgedi.o:ZGEDI'
is not defined.
cld-404 cld: WARNING
The symbol `DSPEV' referenced in relocatable object
`../Modules/ptoolkit.o:DSPEV_DRV_in_PARALLEL_TOOLKIT' is not defined.
cld-404 cld: WARNING
The symbol `ZHPEV' referenced in relocatable object
`../Modules/ptoolkit.o:CDIAGONALIZE_in_PARALLEL_TOOLKIT' is not defined.
By now, I have solved those problems by linking with a file including
the double to
single precision equivalents ( equiv (DSCAL) =SSCAL , and the like)
but I guess the precompiling approach would
be better ;-)
Finally I found a reference to GETARG (a routine that is not included in
each Cray T3E machine and, particulary, was not included in the machine i
was compiling) in the startup.f90 file ... This step was quite simple and
I just correct it by changing a bit the startup.f90 file:
#ifdef __T3E
do iiarg=1,nargs-1
call PXFGETARG (iiarg, np,ilen,ierr)
if (trim(np) == '-npool' .or. trim(np) == '-npools' ) then
call PXFGETARG (iiarg+1, np,ilen,ierr)
read (np,*) npool
end if
end do
#else
do iiarg=1,nargs-1
call GETARG (iiarg, np)
if (trim(np) == '-npool' .or. trim(np) == '-npools' ) then
call GETARG (iiarg+1, np)
read (np,*) npool
end if
end do
#endif
I used a similar approach in plotrho.f90 , plotband.f90,
Well, I just tested the pw.x program with one simple example and it seems
to work fine.
Good Luck,
Felipe
More information about the users
mailing list