On Wed, Jul 30, 2014 at 8:53 PM, Paul Hargrove <phhargr...@lbl.gov> wrote:
[...]

> I have a clear answer to *what* is different (below) and am next looking
> into the why/how now.
> It seems that 1.8.1 has included all dependencies into libmpi_usempif08
> while 1.8.2rc2 does not.
>
 [...]

The difference appears to stem from the following difference in
ompi/mpi/fortran/use-mpi-f08/Makefile.am:

1.8.1:
libmpi_usempif08_la_LIBADD = \
        $(module_sentinel_file) \
        $(OMPI_MPIEXT_USEMPIF08_LIBS) \
        $(top_builddir)/ompi/libmpi.la

1.8.2rc2:
libmpi_usempif08_la_LIBADD = \
        $(OMPI_MPIEXT_USEMPIF08_LIBS) \
        $(top_builddir)/ompi/libmpi.la
libmpi_usempif08_la_DEPENDENCIES = $(module_sentinel_file)

Where in both cases one has:

module_sentinel_file = \
        libforce_usempif08_internal_modules_to_be_built.la

which contains all of the symbols which my previous testing found had
"disappeared" from libmpi_usempif08.so between 1.8.1 and 1.8.2rc2.

I don't have recent enough autotools to attempt the change the Makefile.am,
but instead restored the removed item from libmpi_usempif08_la_LIBADD
directly in Makefile.in.  However, rather than fixing the problem, that
resulted in multiple definitions of a bunch of _eq and _ne functions
(e.g. mpi_f08_types_ompi_request_op_ne_).  So, I am uncertain how to
proceed.

Use svn blame points at a "bulk" CMR of many fortran related changes,
including one related to the eq/ne operators.  So, I am turning over this
investigation to Jeff and/or Ralph to figure out what actually is required
to fix this without loss of whatever benefits were in that CMR.  I am still
available to test the proposed fixes.  Happy hunting...

Somebody owes me a virtual beer (or nihonshu) ;-)
-Paul


-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to