[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