[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