Compilation issue with lecamx
Posted: Thu Apr 25, 2013 11:07 am
Hi,
I'm a member of the support applicative team of TGCC (http://www-hpc.cea.fr/fr/complexe/tgcc.htm). When we installed saturne/3.0.0 on cluster, some errors occur.
$ ./configure --prefix=[..]/saturne-3.0.0 CC=icc CXX=icpc FC=ifort --with-hdf5=[...]/hdf5-1.8.8 LDFLAGS="$CCC_HDF5_LDFLAGS" --with-blas-type=MKL --with-blas-lib="${MKL_LIB_DIR}" --with-blas-libs="-lmkl_rt -liomp5 -lm" --with-blas-include="${MKL_INC_DIR}" --with-hdf5=/usr/local/hdf5-1.8.8 --with-mpi="${MPI_ROOT}" --with-mpi-exec="${MPI_ROOT}/bin" --with-mpi-include="${MPI_ROOT}/include" --with-mpi-lib="${MPI_ROOT}/lib" --enable-openmp --enable-mpi
$ make -j 16
make[3]: Entering directory `[..]/code_saturne-3.0.0/src/base'
/bin/sh ../../libtool --tag=FC --mode=compile ifort -I../../src -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/cplv -I../../src/ctwr -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -O2 -cpp -fpic -warn -diag-disable 7712 -openmp -c -o lecamo.lo lecamo.f90
libtool: compile: ifort -I../../src -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/cplv -I../../src/ctwr -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -O2 -cpp -fpic -warn -diag-disable 7712 -openmp -c lecamo.f90 -fPIC -o .libs/lecamo.o
lecamo.f90(133): error #6784: The number of actual arguments cannot be greater than the number of dummy arguments. [LECAMX]
call lecamx &
compilation aborted for lecamo.f90 (code 1) make[3]: *** [lecamo.lo] Error 1 make[3]: Leaving directory `[..]/code_saturne-3.0.0/src/base' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `[..]/code_saturne-3.0.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `[..]/code_saturne-3.0.0'
make: *** [all] Error 2
There is a difference between the call of lecamx subroutine in lecamo.f90 and his its definition in lecamx.f90. We fixed it by :
$ diff -y lecamo.f90 lecamo.f90.old
call lecamx & call lecamx &
!========== !==========
( ndim , ncelet , ncel , nfac , nfabor , & ( ndim , ncelet , ncel , nfac , nfabor , &
nnod , nvar , nscal , & nnod , nvar , nscal , &
dt , rtp , propce , propfa , propfb , & dt , rtp , propce , propfa , propfb , &
coefa , coefb , frcxt ) | coefa , coefb , frcxt , prhyd )
endif endif
Greetings,
Jérôme Esbrat
I'm a member of the support applicative team of TGCC (http://www-hpc.cea.fr/fr/complexe/tgcc.htm). When we installed saturne/3.0.0 on cluster, some errors occur.
$ ./configure --prefix=[..]/saturne-3.0.0 CC=icc CXX=icpc FC=ifort --with-hdf5=[...]/hdf5-1.8.8 LDFLAGS="$CCC_HDF5_LDFLAGS" --with-blas-type=MKL --with-blas-lib="${MKL_LIB_DIR}" --with-blas-libs="-lmkl_rt -liomp5 -lm" --with-blas-include="${MKL_INC_DIR}" --with-hdf5=/usr/local/hdf5-1.8.8 --with-mpi="${MPI_ROOT}" --with-mpi-exec="${MPI_ROOT}/bin" --with-mpi-include="${MPI_ROOT}/include" --with-mpi-lib="${MPI_ROOT}/lib" --enable-openmp --enable-mpi
$ make -j 16
make[3]: Entering directory `[..]/code_saturne-3.0.0/src/base'
/bin/sh ../../libtool --tag=FC --mode=compile ifort -I../../src -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/cplv -I../../src/ctwr -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -O2 -cpp -fpic -warn -diag-disable 7712 -openmp -c -o lecamo.lo lecamo.f90
libtool: compile: ifort -I../../src -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/cplv -I../../src/ctwr -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -O2 -cpp -fpic -warn -diag-disable 7712 -openmp -c lecamo.f90 -fPIC -o .libs/lecamo.o
lecamo.f90(133): error #6784: The number of actual arguments cannot be greater than the number of dummy arguments. [LECAMX]
call lecamx &
compilation aborted for lecamo.f90 (code 1) make[3]: *** [lecamo.lo] Error 1 make[3]: Leaving directory `[..]/code_saturne-3.0.0/src/base' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `[..]/code_saturne-3.0.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `[..]/code_saturne-3.0.0'
make: *** [all] Error 2
There is a difference between the call of lecamx subroutine in lecamo.f90 and his its definition in lecamx.f90. We fixed it by :
$ diff -y lecamo.f90 lecamo.f90.old
call lecamx & call lecamx &
!========== !==========
( ndim , ncelet , ncel , nfac , nfabor , & ( ndim , ncelet , ncel , nfac , nfabor , &
nnod , nvar , nscal , & nnod , nvar , nscal , &
dt , rtp , propce , propfa , propfb , & dt , rtp , propce , propfa , propfb , &
coefa , coefb , frcxt ) | coefa , coefb , frcxt , prhyd )
endif endif
Greetings,
Jérôme Esbrat