[Smeagol-discuss] compile problem

Ivan Rungger runggeri at tcd.ie
Mon Oct 13 08:42:41 IST 2008


Hi,

 here are the attachments.

Tao K wrote:
> Dear Ivan,
>
> I changed the compiler to mpxlf90_r and encountered new problem:
>
> 1501-510  Compilation successful for file Interfaces.f90.
>         mpxlf90_r -c mpi.F
> "mpi.F", line 27.11: 1515-019 (S) Syntax is incorrect.
> "mpi.F", line 29.34: 1515-019 (S) Syntax is incorrect.
> "mpi.F", line 35.12: 1514-222 (E) A module specification section must
> not include ENTRY statements, FORMAT state
> ments, statement function definitions or executable statements.
> Statement is ignored.
> "mpi.F", line 37.1: 1514-222 (E) A module specification section must not
> include ENTRY statements, FORMAT statem
> ents, statement function definitions or executable statements. Statement
> is ignored.
> "mpi.F", line 37.6: 1515-018 (S) Incorrect character found in source at
> line 37 in column 6.  Hexadecimal value
> of character is 26.
> ........
>
> ** mpi_siesta   === End of Compilation 1 ===
> 1501-511  Compilation failed for file mpi.F.
> make: 1254-004 The error code from the last command is 1.
>
> Could you give me some suggestions?
>
> Best wishes,
> Kun Tao
>
>
> Ivan Rungger wrote:
>   
>> Dear Kun Tao,
>>
>>   the error message just says that the file version.F90 is missing. This
>> file is only present in siesta-1.3f1p, but not in siesta-1.3p. There is
>> also a note about this in the smeagol README file, so if you want to
>> compile smeagol with  siesta-1.3p you have to edit the makefile by hand
>> as described in the README. But generally I suggest to compile smeagol
>> with siesta-1.3f1p.
>>
>> Cheers,
>>
>>  Ivan
>>
>> ktao wrote:
>>   
>>     
>>> Hi, all,
>>>
>>> I tried to compile Smeagol on IBM Power6 and failed at the begin:
>>>
>>> Information about compiler and flags
>>>        sed  "s/SIESTA_ARCH/ibmp4-mpi/g" version.F90 > temp0.F90
>>> sed: 0602-419 Cannot find or open file version.F90.
>>> make: 1254-004 The error code from the last command is 2.
>>>
>>> Could you give me some suggestion? Thank you in advance.
>>>
>>> Attached below is my arch.make and Makefile.
>>>
>>> Best wishes,
>>> Kun Tao
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> #
>>> # This file is part of the SIESTA package.
>>> #
>>> # Copyright (c) Fundacion General Universidad Autonoma de Madrid:
>>> # E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
>>> # and J.M.Soler, 1996-2006.
>>> #
>>> # Use of this software constitutes agreement with the full conditions
>>> # given in the SIESTA license, as signed by all legitimate users.
>>> #
>>> .SUFFIXES:
>>> .SUFFIXES: .f .F .o .a .f90 .F90
>>>
>>> SIESTA_ARCH=ibmp4-mpi
>>>
>>> FPP=
>>> FPP_OUTPUT=
>>> FC=mpxlf_r
>>> RANLIB=ranlib
>>>
>>> SYS=ibm_pessl
>>>
>>> SP_KIND=4
>>> DP_KIND=8
>>> KINDS=$(SP_KIND) $(DP_KIND)
>>>
>>> SOURCE_DIR=/u/ktao/smeagol
>>> EXEC =smeagol
>>>
>>>  # FFLAGS=-qzerosize -O0  -qarch=auto -qtune=auto -qcache=auto -qnolm -q64
>>> FFLAGS=-O3 -q64 -qnosave  -qlargepage -qipa -qarch=pwr4 -qtune=pwr4 -qcache=auto -qmaxmem=-1 -qzerosize
>>> FPPFLAGS=-WF,-DMPI -WF,-DGRID_DP -WF,-DBROYDEN_DP -WF,-DON_DP
>>> LDFLAGS=-b64 -q64 -O5 -qlargepage -qipa -qarch=pwr4 -qtune=pwr4 -qcache=auto -bloadmap:map -qstrict -bnoquiet -qmexmem=-1 -lmpi_r -lesslsmp -lpesslsmp -lblacssmp
>>>
>>> RANLIB=ranlib
>>> ARFLAGS_EXTRA= -X 32_64
>>>
>>> #FCFLAGS_fixed_f= -qstrict
>>> #FCFLAGS_free_f90=-qstrict -qfree=f90 -qsuffix=f=f90
>>> #FPPFLAGS_fixed_F=-qstrict
>>> #FPPFLAGS_free_F90=-qstrict -qfree=f90 #-qsuffix=cpp=F90
>>>
>>> LAPACK=-L/afs/ipp/@sys/lib -llapack-essl -lessl -lpessl
>>> SCALAPACK_LIBS=-L/afs/ipp/@sys/lib -lscalapack /afs/ipp/@sys/lib/blacsF77init_MPI-POWER4-0.a /afs/ipp/@sys/lib/blacs_MPI-POWER4-0.a -lessl -lpessl
>>>
>>> COMP_LIBS=linalg.a
>>>
>>> LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(COMP_LIBS) $(NETCDF_LIBS)
>>>
>>> #SIESTA needs an F90 interface to MPI
>>> #This will give you SIESTA's own implementation
>>> #If your compiler vendor offers an alternative, you may change
>>> #to it here.
>>> MPI_INTERFACE=libmpi_f90.a
>>> MPI_INCLUDE=/usr/lpp/ppe.poe/include
>>>
>>> #Dependency rules are created by autoconf according to whether
>>> #discrete preprocessing is necessary or not.
>>> .F.o:
>>> 	$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F)  $<
>>> .F90.o:
>>> 	$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
>>> .f.o:
>>> 	$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
>>> .f90.o:
>>> 	$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<
>>>   
>>> ------------------------------------------------------------------------
>>>
>>> #Makefile for siesta
>>> #
>>> .SUFFIXES: .f .F .o .a  .f90 .F90
>>> #
>>> #
>>> VPATH= ./ : ../NETransport/ : ../Interface : ../smeagolpack
>>> #
>>> default: what siesta gen-basis
>>> #
>>> include arch.make
>>> #
>>> # Uncomment the following line for debugging support
>>> #
>>> #FFLAGS=$(FFLAGS_DEBUG)
>>> #
>>> what:
>>> 	@echo
>>> 	@echo "Compilation architecture to be used: ${SIESTA_ARCH}"
>>> 	@echo "If this is not what you want, create the right"
>>> 	@echo "arch.make file using the models in Sys"
>>> 	@echo
>>> 	@echo "Hit ^C to abort..."
>>> 	@sleep 2
>>> #
>>> SYSOBJ=$(SYS).o
>>> #
>>> # Note that machine-specific files are now in top Src directory.
>>> #
>>> OBJS = arw.o  atomlwf.o bands.o bessph.o cgwf.o chkdim.o chkgmx.o \
>>>         chempot.o coceri.o conjgr.o constr.o coxmol.o cross.o \
>>> 	denmat.o detover.o dfscf.o dhscf.o diagon.o digcel.o fft3d.o \
>>> 	diagg.o diagk.o diagkp.o diag2g.o diag2k.o diagpol.o \
>>> 	diagsprl.o dipole.o dismin.o dnaefs.o dot.o dynamics.o \
>>> 	efield.o egandd.o ener3.o extrapol.o extrapolon.o \
>>> 	fermid.o fixed.o forhar.o gradient.o grdsam.o \
>>> 	hsparse.o idiag.o  initatom.o initdm.o inver.o \
>>> 	iodm.o iohs.o iolwf.o iorho.o ioxv.o ipack.o \
>>> 	kgrid.o kgridinit.o kinefsm.o ksv.o ksvinit.o \
>>> 	madelung.o matel.o meshmatrix.o memory.o meshsubs.o \
>>>         minvec.o mulliken.o naefs.o neighb.o nlefsm.o \
>>> 	on_subs.o ordern.o outcell.o outcoor.o overfsm.o \
>>> 	paste.o pdos.o pdosg.o pdosk.o phirphi.o pixmol.o plcharge.o \
>>> 	timestamp.o propor.o pulayx.o  \
>>> 	ranger.o ran3.o recipes.o reclat.o redata.o redcel.o\
>>> 	reinit.o reord.o rhoofd.o rhoofdsp.o rhooda.o  \
>>> 	savepsi.o shaper.o timer.o \
>>> 	vmb.o vmat.o vmatsp.o volcel.o xc.o xijorb.o  \
>>> 	cellxc.o cdiag.o rdiag.o \
>>>         cgvc.o iocg.o ioeig.o iofa.o iokp.o iomd.o repol.o typecell.o \
>>>         ofc.o poison.o readsp.o radfft.o  \
>>> 	siesta.o io.o\
>>>         spin_init.o coor.o transfer.o\
>>>         broadcast_basis.o sig.o eggbox.o linpack.o 
>>>
>>> #
>>> FDF=libfdf.a
>>> $(FDF): 
>>> 	(cd fdf ; $(MAKE) module)
>>> #
>>> # Routines using fdf calls.
>>> #
>>> dhscf.o initdm.o iodm.o iohs.o iolwf.o iorho.o grdsam.o : $(FDF)
>>> recoor.o outcoor.o ioxv.o kgrid.o kgridinit.o ksv.o : $(FDF)
>>> redata.o siesta.o diagon.o pdos.o plcharge.o: $(FDF)
>>> coor.o cgvc.o iocg.o ioeig.o iofa.o iokp.o iomd.o repol.o ofc.o : $(FDF)
>>> readsp.o eggbox.o reademtr.o : $(FDF)
>>> #
>>> atom.o basis_specs.o: $(FDF)
>>> gen-basis.o: $(FDF)
>>>
>>> TRANSPORTOBJ= leads_complex.o negf.o identify.o \
>>>         diagonal_alex.o misc.o selfenergy.o gauleg.o transm.o \
>>>         invert.o decimate_leads.o gensvd.o rank.o negfk.o negf2g.o \
>>>         negf2k.o localdos.o gaucheb.o	
>>> 	
>>> INTERFACEOBJ = dmbk.o emt2g.o emt2k.o emtg.o emtk.o emtrans.o \
>>>         bulktrans.o vmattr.o vvbias.o hsleads.o hsl.o hslk.o \
>>> 	reademtr.o pasbias.o shifth.o absdiff.o
>>>
>>> TRANSPORT=NETransport
>>> $(TRANSPORT): $(TRANSPORTOBJ)
>>>
>>> INTERFACE=Smeagol_Siesta
>>> $(INTERFACE): $(INTERFACEOBJ)
>>>
>>> # 	If you don't want to use your own LINPACK subroutines
>>> #	you should comment the lines below
>>> #
>>>  
>>> #LINPACK=linpack
>>> #$(LINPACK):
>>> #	(cd ../linpack; $(FC) $(TRANSPORTFLAGS) *.f; \
>>> #	 ar -rv linpack *.o; \
>>> #	 mv linpack $(SOURCE_DIR)/Src)
>>>
>>> #LINPACKOBJ = dcabs1.o  zgedi.o  zgefa.o
>>> #dcabs1.o zgedi.o zgefa.o : $(LINPACK)	
>>>
>>> #       If want to use SIESTA provided LINPACK subroutines
>>> #       contained in file linpack.F you should uncomment 
>>> #       the lines below
>>> #
>>>
>>> #LINPACKOBJ=linpack.o 
>>> #LINPACK=linpack
>>> #$(LINPACK): $(LINPACKOBJ)
>>>
>>> #	If you wish to provide your own lapack driver
>>> #	subroutines you should uncomment the following lines
>>> #
>>> #SMEAGOLLAPACK = lapack.smeagol.a
>>> #$(SMEAGOLLAPACK):
>>> #	(cd ../smeagolpack; $(FC) $(TRANSPORTFLAGS) *.f;\
>>> #	 ar -rv lapack.smeagol.a *.o; \
>>> #	 mv lapack.smeagol.a $(SOURCE_DIR)/Src)
>>>
>>> #SMEAGOLPACKOBJ = zsytf2.o zsytrf.o zsytri.o ieeeck.o ilaenv.o zgebal.o
>>> #SMEAGOLPACKOBJ = zsytf2.o zsytrf.o zsytri.o 
>>>
>>> #SMEAGOLLAPACK = Smeagol_lapack
>>> #$(SMEAGOLLAPACK) : $(SMEAGOLPACKOBJ) 
>>>
>>> #       If you wish to use vendor specific lapack driver
>>> #       subroutines you should uncomment the following lines
>>> #
>>> #SMEAGOLLAPACK = $(LAPACK)
>>> #SMEAGOLPACKOBJ= zsytf2.o zsytrf.o zsytri.o ieeeck.o ilaenv.o zgebal.o
>>>
>>> # This is crude but will have to do for now.
>>> # Note : precision must be the first module
>>> #
>>> MOD_OBJS=precision.o atom.o atmparams.o atmfuncs.o listsc.o \
>>>          memoryinfo.o numbvect.o  parallel.o sorting.o \
>>> 	 atomlist.o ionew.o atm_types.o old_atmfuncs.o radial.o parsing.o\
>>>          alloc.o phonon.o spher_harm.o periodic_table.o version.o \
>>>          basis_types.o pseudopotential.o basis_specs.o sys.o basis_io.o\
>>>          chemical.o xml.o writewave.o
>>> COM_OBJS=$(OBJS) $(SYSOBJ)
>>> ALL_OBJS=$(MOD_OBJS) $(COM_OBJS)
>>> #
>>> arw.o: ionew.o
>>> initatom.o: basis_specs.o basis_types.o basis_io.o
>>> atom.o: basis_types.o
>>> basis_specs.o: pseudopotential.o basis_types.o chemical.o
>>> basis_types.o: pseudopotential.o atmparams.o
>>> atom.o initatom.o transfer.o plcharge.o    : old_atmfuncs.o
>>> basis_types.o atom.o old_atmfuncs.o atmfuncs.o: atmparams.o
>>> atomlwf.o dhscf.o dnaefs.o                 : atmfuncs.o
>>> efield.o matel.o mulliken.o outcoor.o : atmfuncs.o
>>> overfsm.o shaper.o                                : atmfuncs.o
>>> atomlist.o                                        : atmfuncs.o 
>>> kinefsm.o naefs.o nlefsm.o overfsm.o              : atmfuncs.o
>>> siesta.o          : atmfuncs.o phonon.o ordern.o hsparse.o
>>> redata.o          : phonon.o
>>> dfscf.o hsparse.o : atmfuncs.o listsc.o
>>> rhoofd.o rhoofdsp.o vmat.o vmatsp.o vmattr.o  : listsc.o
>>> hsparse.o minvec.o : sorting.o
>>> chempot.o         : numbvect.o
>>> memory.o          : memoryinfo.o
>>> dhscf.o dfscf.o forhar.o rhooda.o rhoofd.o rhoofdsp.o : meshsubs.o
>>> vmat.o vmatsp.o vmattr.o vvbias.o: meshsubs.o
>>> dfscf.o rhoofd.o rhoofdsp.o vmat.o vmatsp.o vmattr.o : meshmatrix.o
>>> siesta.o: atomlist.o 
>>> old_atmfuncs.o atomlist.o siesta.o atom.o: ionew.o
>>> coor.o: atomlist.o
>>> radial.o: xml.o
>>> atm_types.o: radial.o
>>> transfer.o: atm_types.o atmfuncs.o radial.o periodic_table.o
>>> atmfuncs.o: atm_types.o radial.o
>>> old_atmfuncs.o atmfuncs.o matel.o: spher_harm.o
>>> #
>>> diag2g.o diag2k.o diagg.o diagk.o diagkp.o diagsprl.o ionew.o: sys.o
>>> atmfuncs.o atom.o basis_specs.o: sys.o
>>> chkdim.o coor.o diagpol.o matel.o old_atmfuncs.o periodic_table.o: sys.o
>>> pdos.o: xml.o atmfuncs.o atomlist.o
>>> propor.o spher_harm.o pseudopotential.o: sys.o
>>> redata.o dhscf.o: sys.o
>>> #----------------------------------------------------
>>> matel.o basis_io.o atom.o : radfft.o
>>> #
>>> basis_io.o: ionew.o atm_types.o atmfuncs.o radial.o sys.o chemical.o\
>>>             basis_types.o xml.o
>>> basis_io.o: $(FDF) $(NETCDF_INTERFACE)
>>> siesta.o bands.o efield.o fixed.o grdsam.o writewave.o: parsing.o
>>> initdm.o repol.o ksv.o: parsing.o
>>> #
>>> siesta.o atomlist.o coor.o dfscf.o matel.o: alloc.o
>>> #
>>> broadcast_basis.o: atm_types.o 
>>> atom.o basis_specs.o: periodic_table.o
>>> #
>>> $(COM_OBJS): precision.o parallel.o $(MPI_INTERFACE)
>>> #
>>> # Interfaces to libraries
>>> #
>>> libmpi_f90.a: 
>>> 	@(cd MPI ; $(MAKE) )
>>> libnetcdf_f90.a: 
>>> 	@(cd NetCDF ; $(MAKE) )
>>> #
>>> # Libraries that might need to be compiled
>>> #
>>> linalg.a: Libs/blas.f Libs/lapack.f
>>> 	@echo "==> Compiling linalg.a in Libs..."
>>> 	@(cd Libs ; $(MAKE) linalg.a)
>>> dc_lapack.a:  Libs/dc_lapack.f
>>> 	@echo "==> Compiling dc_lapack.a in Libs..."
>>> 	@(cd Libs ; $(MAKE) dc_lapack.a)
>>> #
>>> version:
>>> 	@echo
>>> 	@echo "==> Information about compiler and flags"
>>> 	sed  "s/SIESTA_ARCH/${SIESTA_ARCH}/g" version.F90 > temp0.F90
>>> #	sed  "s/FFLAGS/${FC} ${LDLAGS}/g" temp0.F90 > temp.F90
>>> 	sed  "s/FFLAGS/ ${FLAGS}/g" temp0.F90 > temp.F90
>>> 	$(FC) -c $(FFLAGS) $(DEFS) temp.F90
>>> 	@rm -f temp0.F90 temp.F90
>>> 	@mv temp.o version.o
>>> 	@echo
>>>
>>> siesta: version $(MPI_INTERFACE) $(NETCDF_INTERFACE) $(FDF) \
>>>                 $(COMP_LIBS) $(ALL_OBJS) $(TRANSPORT) $(LINPACK) \
>>>                 $(INTERFACE) $(SMEAGOLLAPACK) 
>>> 	$(FC) -o $(EXEC) \
>>> 	       $(LDFLAGS) $(ALL_OBJS) $(FDF) \
>>> 	       $(TRANSPORTOBJ) $(LINPACK) $(INTERFACEOBJ)\
>>> 	       $(MPI_INTERFACE) $(SMEAGOLPACKOBJ)\
>>>                $(NETCDF_INTERFACE) $(COMP_LIBS) $(LIBS) 
>>> #
>>> GEN-BASIS_OBJS=gen-basis.o basis_types.o precision.o\
>>>           basis_io.o  chemical.o transfer.o atm_types.o\
>>>           atmparams.o atmfuncs.o old_atmfuncs.o radial.o spher_harm.o io.o \
>>> 	  paste.o memoryinfo.o memory.o ionew.o \
>>>           chkdim.o basis_specs.o atom.o periodic_table.o\
>>>           pseudopotential.o dot.o xc.o recipes.o arw.o radfft.o\
>>>           bessph.o sys.o timer.o  xml.o $(SYSOBJ)
>>> # precision must be the first one here...
>>> gen-basis.o: precision.o atom.o basis_types.o basis_specs.o basis_io.o $(FDF)
>>> gen-basis: version $(NETCDF_INTERFACE) $(MPI_INTERFACE) $(FDF) \
>>>                 $(COMP_LIBS) $(GEN-BASIS_OBJS)
>>> 	$(FC) -o gen-basis \
>>> 	       $(LDFLAGS) $(GEN-BASIS_OBJS) $(MPI_INTERFACE) $(FDF) \
>>>                $(NETCDF_INTERFACE) $(COMP_LIBS) $(LIBS) 
>>> #
>>> clean: 
>>> 	@echo "==> Cleaning object, library, and executable files"
>>> 	rm -f siesta gen-basis *.o  *.a *.pc *.pcl
>>> 	rm -f *.mod
>>> 	(cd fdf ; $(MAKE) clean)
>>> 	@if [ -d MPI ] ; then (cd MPI && $(MAKE) clean ) ; fi
>>> 	(cd NetCDF ; $(MAKE) clean )
>>> 	(cd Libs ; $(MAKE) clean )
>>> 	(cd ../doc/ ; rm -f *.ps *.aux *.log *.toc *.dvi)
>>> pristine:  clean
>>> 	cp -fp Include/constr.f .
>>> #
>>> cleantransp:
>>> 	rm -f $(TRANSPORTOBJ) 
>>> 	rm -f $(INTERFACEOBJ) 
>>> 	rm -f $(LINPACKOBJ) $(SMEAGOLPACKOBJ)
>>>
>>> doc :
>>> 	(cd ../doc/ ; latex smeagol.tex ; latex smeagol.tex; dvips -o smeagol_doc.ps smeagol.dvi)
>>>
>>>   
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Smeagol-discuss mailing list
>>> Smeagol-discuss at lists.tchpc.tcd.ie
>>> http://lists.tchpc.tcd.ie/listinfo/smeagol-discuss
>>>     
>>>       
>>   
>>     
>
>
>
>   


-- 
=================================================
Ivan Rungger,

School of Physics and CRANN,  
Trinity College Dublin,  
Dublin 2,  IRELAND  
Phone: +353-1-8968454  
Email: runggeri at tcd.ie
=================================================

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: arch.make
Url: http://lists.tchpc.tcd.ie/pipermail/smeagol-discuss/attachments/20081013/a50cbd19/attachment.pl 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile
Url: http://lists.tchpc.tcd.ie/pipermail/smeagol-discuss/attachments/20081013/a50cbd19/attachment-0001.pl 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: MPI_Makefile
Url: http://lists.tchpc.tcd.ie/pipermail/smeagol-discuss/attachments/20081013/a50cbd19/attachment-0002.pl 


More information about the Smeagol-discuss mailing list