[Smeagol-discuss] compile problem
Tao K
ktao at mpi-halle.mpg.de
Fri Oct 10 21:32:09 IST 2008
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
>>
>
>
>
More information about the Smeagol-discuss
mailing list