[mvapich-discuss] Missing make dependencies in 1.8 latest
Jonathan Perkins
perkinjo at cse.ohio-state.edu
Tue Jul 17 18:26:08 EDT 2012
Craig:
Parallel builds do not work with versions of MPICH2 prior to 1.5a. Our
latest release of MVAPICH2 is currently based on MPICH2-1.4.1p1 so we
inherited this limitation as well.
Future version of MVAPICH2 will be based on MPICH2-1.5 so this problem
will no longer exist at this point.
For more information on the parallel build issue please see
http://wiki.mcs.anl.gov/mpich2/index.php/Frequently_Asked_Questions#Q:_The_build_fails_when_I_use_parallel_make.
On Tue, Jul 17, 2012 at 03:47:52PM -0600, Craig Tierney wrote:
> 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
> _______________________________________________
> mvapich-discuss mailing list
> mvapich-discuss at cse.ohio-state.edu
> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>
--
Jonathan Perkins
http://www.cse.ohio-state.edu/~perkinjo
More information about the mvapich-discuss
mailing list