[mvapich-discuss] Missing make dependencies in 1.8 latest
Craig Tierney
craig.tierney at noaa.gov
Tue Jul 17 17:47:52 EDT 2012
I am trying to build mvapich2 1.8-latest with make -j12 (because I am tired of waiting while debugging
other problems). However, when building this way, the make process fails because some dependencies
are not handled correctly.
In particular it is in src/bindings/f90 where using -j causes a problem.
------------
make[3]: Entering directory `/misc/whome/admin/software/mvapich2/mvapich2-1.8/src/binding/f90'
rm -f mpifnoext.h
sed -e 's/^C/\!/g' -e '/EXTERNAL/d' \
-e '/REAL\*8/d' \
-e '/DOUBLE PRECISION/d' \
-e '/MPI_WTICK/d' ../f77/mpif.h > mpifnoext.h
ifort -O2 -I. -c mpi_base.f90
CC create_f90_int.c
CC create_f90_real.c
CC create_f90_complex.c
CC typef90cmplxf.c
CC typef90realf.c
CC typef90intf.c
CC create_f90_util.c
FC mpi.f90
FC mpi_constants.f90
FC mpi_sizeofs.f90
FC mpi_base.f90
mpi.f90(5): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MPI_CONSTANTS]
USE MPI_CONSTANTS
-----------^
mpi_base.f90(18): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MPI_CONSTANTS]
USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-----------^
mpi_base.f90(20): error #6683: A kind type parameter must be a compile-time constant. [MPI_ADDRESS_KIND]
INTEGER(KIND=MPI_ADDRESS_KIND) v1
---------------
The error can vary, it depends on order of builds finishing. In this case, the compile
of mpi_constants.f90 wasn't complete before mpi_base.f90 started.
I see that at least this patch is missing:
--- Makefile.orig 2012-07-17 21:40:47.825313000 +0000
+++ Makefile 2012-07-17 21:46:14.357988000 +0000
@@ -399,7 +399,7 @@
rm -f mpi_sizeofs.$(FCEXT) ; \
fi ; \
fi
-$(MPIBASEMOD).$(MOD): mpi_base.f90
+$(MPIBASEMOD).$(MOD): $(MPICONSTMOD).$(MOD) mpi_base.f90
@if [ -n "" ] ; then \
rm -f mpimod.pc mpimod.pcl ; \
echo "mpimod.pc" > mpimod.pcl ; \
However, I cannot see why the dependencies are missing for the build of mpi.f90. It looks like they are there:
$(MPIMOD).$(MOD): $(MPICONSTMOD).$(MOD) $(MPISIZEOFMOD).$(MOD) \
$(MPIBASEMOD).$(MOD) $(srcdir)/mpi.f90 mpifnoext.h
But they are not being honored for some reason. Someone more experienced with gmake than I should be able to
figure this out.
Craig
More information about the mvapich-discuss
mailing list