Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn-full] svn:open-mpi r30391 - in trunk: . config oshmem oshmem/shmem/fortran oshmem/tools/oshmem_info
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-01-24 12:13:04


Mellanox --

Some comments on the commit below.

On Jan 23, 2014, at 2:49 AM, svn-commit-mailer_at_[hidden] wrote:

> Modified: trunk/config/oshmem_configure_options.m4
> ==============================================================================
> --- trunk/config/oshmem_configure_options.m4 Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/config/oshmem_configure_options.m4 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -95,19 +95,19 @@
> [enable OSHMEM Fortran bindings (default: enabled if Fortran compiler found)]))
> if test "$enable_oshmem_fortran" != "no" -a "$ompi_fortran_happy" = 1; then
> # If no OMPI FORTRAN, bail
> - AS_IF([test $OMPI_WANT_FORTRAN_BINDINGS -eq 0],
> + AS_IF([test $OMPI_WANT_FORTRAN_BINDINGS -eq 0 -a "$enable_oshmem" != "no"],
> [AC_MSG_RESULT([bad value OMPI_WANT_FORTRAN_BINDINGS: ($OMPI_WANT_FORTRAN_BINDINGS)])
> AC_MSG_WARN([Your explicit request to --enable-oshmem-fortran can only be satisfied if fortran support is enabled in OMPI. You are seeing this message for one of two reasons:
> 1. OMPI fortran support has been explicitly disabled via --disable-mpi-fortran, in which case you cannot --enable-oshmem-fortran. Configure will abort because you, a human, have explicitly asked for something that cannot be provided.
> 2. OMPI fortran support is implicitly not being built because no fortran compiler could be found on your system. Configure will abort because you, a human, have explicitly asked for something that cannot be provided.])

As you noted in a comment below, we haven't searched for a Fortran compiler yet. So the above message isn't correct. Specifically: you seem to be entering this code path only for case #1.

Please update the AC_MSG_WARN message.

> AC_MSG_ERROR([Cannot continue])])
> AC_MSG_RESULT([yes])
> - OSHMEM_FORTRAN_BINDINGS=1
> else
> AC_MSG_RESULT([no])
> - OSHMEM_FORTRAN_BINDINGS=0
> fi
> -AM_CONDITIONAL(OSHMEM_WANT_FORTRAN_BINDINGS,
> - [test $OSHMEM_FORTRAN_BINDINGS -eq 1])
> +
> +#
> +# We can't set am_conditional here since it's yet unknown if there is valid Fortran compiler avaliable
> +#
> ]) dnl
>
> Modified: trunk/configure.ac
> ==============================================================================
> --- trunk/configure.ac Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/configure.ac 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -1273,6 +1273,11 @@
> # a C++ compiler.
> AS_IF([test "$OMPI_WANT_FORTRAN_BINDINGS" != "1"],[F77=no FC=no])
>
> +AM_CONDITIONAL(OSHMEM_BUILD_FORTRAN_BINDINGS,
> + [test "$ompi_fortran_happy" == "1" -a \
> + "$OMPI_WANT_FORTRAN_BINDINGS" == "1" -a \
> + "$oshmem_fortran_enable" != "no"])
> +
> LT_CONFIG_LTDL_DIR([opal/libltdl], [subproject])
> LTDL_CONVENIENCE
> LT_INIT([dlopen win32-dll])

This seems like the wrong place in configure.ac to put this check -- you put this OSHMEM check right in the middle of the libtool setup code (the Fortran check here is part of the libtool setup; see the comment right before that in configure.ac that describes what's going on).

Why not put the OSHMEM check way up near/after the call to setup the Fortran MPI stuff?

> Modified: trunk/oshmem/Makefile.am
> ==============================================================================
> --- trunk/oshmem/Makefile.am Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/oshmem/Makefile.am 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -17,7 +17,7 @@
> endif
>
> # Do we have the Fortran bindings?
> -if OSHMEM_WANT_FORTRAN_BINDINGS
> +if OSHMEM_BUILD_FORTRAN_BINDINGS
> fortran_oshmem_lib = shmem/fortran/liboshmem_fortran.la
> else
> fortran_oshmem_lib =
>
> Modified: trunk/oshmem/shmem/fortran/Makefile.am
> ==============================================================================
> --- trunk/oshmem/shmem/fortran/Makefile.am Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/oshmem/shmem/fortran/Makefile.am 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -11,7 +11,7 @@
>
> AM_CPPFLAGS = -DOSHMEM_PROFILING_DEFINES=0 -DOSHMEM_HAVE_WEAK_SYMBOLS=0
>
> -if OSHMEM_WANT_FORTRAN_BINDINGS
> +if OSHMEM_BUILD_FORTRAN_BINDINGS
> oshmem_fortran_lib = liboshmem_fortran.la
> else
> oshmem_fortran_lib =
>
> Modified: trunk/oshmem/tools/oshmem_info/Makefile.am
> ==============================================================================
> --- trunk/oshmem/tools/oshmem_info/Makefile.am Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/oshmem/tools/oshmem_info/Makefile.am 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -31,10 +31,10 @@
> AM_CFLAGS += -DOSHMEM_PROFILING=0
> endif
>
> -if OSHMEM_WANT_FORTRAN_BINDINGS
> - AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=1
> +if OSHMEM_BUILD_FORTRAN_BINDINGS
> + AM_CFLAGS += -DOSHMEM_BUILD_FORTRAN_BINDINGS=1
> else
> - AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=0
> + AM_CFLAGS += -DOSHMEM_BUILD_FORTRAN_BINDINGS=0

These should all be AM_CPPFLAGS, not AM_CFLAGS.

> endif
>
> include $(top_srcdir)/Makefile.man-page-rules
>
> Modified: trunk/oshmem/tools/oshmem_info/param.c
> ==============================================================================
> --- trunk/oshmem/tools/oshmem_info/param.c Thu Jan 23 02:29:23 2014 (r30390)
> +++ trunk/oshmem/tools/oshmem_info/param.c 2014-01-23 02:49:13 EST (Thu, 23 Jan 2014) (r30391)
> @@ -604,7 +604,7 @@
> /* This block displays all the options with which the current
> * installation of oshmem was configured. */
> {
> - char *oshmem_fortran = OSHMEM_WANT_FORTRAN_BINDINGS ? "yes" : "no";
> + char *oshmem_fortran = OSHMEM_BUILD_FORTRAN_BINDINGS ? "yes" : "no";
> char *oshmem_compat = OSHMEM_SPEC_COMPAT ? "yes" : "no";
> char *oshmem_param_check = OSHMEM_PARAM_CHECK ? "yes" : "no";
> char *oshmem_profiling = OSHMEM_PROFILING ? "yes" : "no";
> _______________________________________________
> svn-full mailing list
> svn-full_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/