Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mca: Dynamic components link against project lib #4140

Merged
merged 3 commits into from
Sep 5, 2017

Conversation

jjhursey
Copy link
Member

MCA components in ompi/
       $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la
MCA components in orte/
       $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la
MCA components in opal/
       $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la

Note: The changes in this commit were automated. Some components
were not included because they are statically built only.

 * This script will search for all of the `Makefile.am` files in each
   of the project-level components. Then it adds the project-level
   library to `mca_FRAMEWORK_COMPONENT_la_LIBADD`.
   - If the library is already in the LIBADD list then it's skipped.
     So it is safe to run multiple times on the same codebase.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
(cherry picked from commit 7a3f1ff)
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
@jjhursey jjhursey added this to the v3.0.0 milestone Aug 25, 2017
@jjhursey jjhursey changed the title Explore/v3.0.x/dlopen local mca: Dynamic components link against project lib Aug 25, 2017
 * Resolves open-mpi#3705
 * Components should link against the project level library to better
   support `dlopen` with `RTLD_LOCAL`.
 * Extend the `mca_FRAMEWORK_COMPONENT_la_LIBADD` in the `Makefile.am`
   with the appropriate project level library:
```
MCA components in ompi/
       $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la
MCA components in orte/
       $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la
MCA components in opal/
       $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
MCA components in oshmem/
       $(top_builddir)/oshmem/liboshmem.la"
```

Note: The changes in this commit were automated by the script in
the commit that proceeds it with the `libadd_mca_comp_update.py`
script. Some components were not included in this change because
they are statically built only.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>

Local application of the LIBADD script:
`./contrib/libadd_mca_comp_update.py`
Reference `master` commit e1d0795
 * See discussion on Issue open-mpi#3705 regarding why this is no longer needed.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
(cherry picked from commit 49c40f0)
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
@jjhursey
Copy link
Member Author

Posting for consideration (if there is another rc) for v3.0.0. Otherwise it can slip to v3.0.1

Copy link
Member

@jsquyres jsquyres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dalcinl can you confirm that this fixes the problem for you on the v3.0.x branch? (this is a cherry-pick from master, but we just want to confirm that we didn't miss anything specific for the v3.0.x branch)

@bwbarrett bwbarrett merged commit 32b4c90 into open-mpi:v3.0.x Sep 5, 2017
@jjhursey jjhursey deleted the explore/v3.0.x/dlopen-local branch September 5, 2017 17:30
@dalcinl
Copy link
Contributor

dalcinl commented Sep 10, 2017

@jsquyres I confirm the dlopen issues are fixed with v3.0.0rc5-2-gfc852fe9c2. However, I'm having now some trouble with MPI_Comm_spawn() calls, but they are likely unrelated to this PR. Let me figure out what's wrong and I'll submit a new issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants