On Wed, Jul 30, 2014 at 8:53 PM, Paul Hargrove <[email protected]> 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 [email protected]
Future Technologies Group
Computer and Data Sciences Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900