-
Notifications
You must be signed in to change notification settings - Fork 900
openmpi.spec: updates for v5.0.0 #10224
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
Conversation
@acgoldma @dancejic You both indicated that your orgs use the specfile. Please review this PR. Note a very important change in default behavior in this version of the specfile: it defaults to If you run into any problems with this update, patches / suggested fixes would be greatly appreciated. 😄 |
Thank you! We will test the PR.
Is the recommendation to install pmix and prrte before install openmpi rpm? |
That is the strong advice, yes. See https://docs.open-mpi.org/en/v5.0.x/installing-open-mpi/required-support-libraries.html#strong-advice-for-packagers. |
Does that mean it is recommended to install pmix and prrte via package manager ( |
You definitely should be using the hwloc and libevent from OS repos. There are unlikely to be PMIx and PRRTE packages for currently released OSes (and if they are, they are unlikely to be new enough). So for someone like AWS providing a repo (or distribution bundle) of RPMs, you'll likely have two more RPMs to ship. |
@bwbarrett I see. Thank you for your explanation! |
I am building the rpms for the prrte and openpmix, but looks like there is an issue with prrte (prte).
Looks to be a simple name issue? |
SRPM is building now with this patch to spec file:
@@ -355,7 +355,7 @@
# there that are not meant to be packaged.
rm -rf $RPM_BUILD_ROOT
-%setup -q -n prte-%{version}
+%setup -q -n %{name}-%{version}
#############################################################################
# RPM is failing with unpackaged files.
|
When testing this PR, I hit this error when generating a ompi tarball via
@jsquyres do you have any ideas where the issue is? |
@acgoldma If the PMIx and PRRTE packages have problems with their specfiles, you'll need to bring that up in their repos. FWIW: I think that PRRTE is really, really weird (and will be very confusing for users) for using |
@shijin-aws Yes: you need to install Sphinx. See https://docs.open-mpi.org/en/main/developers/prerequisites.html#sphinx and https://docs.open-mpi.org/en/main/developers/sphinx.html. |
See #10224 (review) Signed-off-by: Jeff Squyres <[email protected]>
Looks like romio341 detects Level-Zero on my system and causes issues.
Looks like it is not using the correct API? I will remove level-zero from my system temporarily, but this should be disabled somehow. |
@acgoldma Sounds like that's a general bug in the ROMIO in OMPI master/v5.0.x (i.e., nothing to do with the RPM packaging). Can you file a separate issue about it and label/milestone it for master+v5.0.x? |
@jsquyres Thanks. That works for me. I could build the ompi rpm and install it successfully. But I had an issue when running mpirun
So I installed prrte earlier in |
Same issue, I just added a symlink as a workaround and it seems to work so far, need a bit more testing. |
Is PRRTE installed in /usr or /usr/local? For various reasons, Open MPI requires PRRTE not move after install. it's weird that it found /usr/local/bin/prterun during RPM build if it was in /usr. But hard to tell what happened without seeing the config.log of the build. |
I was able to get prrte rpm to install to default location:
Also has same issue as above. |
@bwbarrett I did not install prrte via rpm, I just
And I did not move prrte's location after installation. |
I think I found the bug in the configure:
this appears to be a bug here: ompi/config/ompi_setup_prrte.m4 Line 287 in 9eec562
- AS_IF([tets -z "$PRTE_PATH"],
+ AS_IF([test -z "$PRTE_PATH"],
|
@acgoldma nice catch - can you please PR? |
I'll post a PR to fix it. There's something else going on beyond just that issue; we should not have gotten into a situation where we're calling the wrong prterun just because of that one typo. |
I found another unexpected breakage (i.e., assumptions of OMPI and PRTE and/or PMIx in the same install tree): the Java MPI bindings. I'll file a separate issue about this. |
Yeah I tried that patch and re-created the ompi tarball and rpm, but the |
6fd6528
to
6a9cf5f
Compare
I have rebased on main HEAD (to get the installation of HTML docs), and I believe I have addressed all reviewer comments and also fixed up the contents of the runtime, devel, and docs RPMs. I think we still have PMIx/PRTE integration issues (e.g., if installation prefixes are different, etc. -- see #10252), but if @acgoldma @shijin-aws @wzamazon @bwbarrett could verify that the all-in-one and/or sub-project RPMs are building like you expect them to / contain what you expect them to, that would be great. Thanks! |
bot:ibm:retest |
@jsquyres I did not hit RPM build and install issue for the Ompi spec file within this PR's range. I hit the RPM build and install issue as @acgoldma reported in openpmix/prrte#1332 for PRRTE. Since Brian opened #10252 to track the prterun location issue separately. So I do not have extra issues for this PR only then. |
@shijin-aws @acgoldma Just curious: do you build/use/distribute the all-in-one RPM or the sub-packages RPMs? |
@jsquyres I build/use the all-in-one RPMs ( |
Same with me, though we build in 2 steps: first SRPM (no -b) then use rpmbuild to build single rpm form SRPM. |
6a9cf5f
to
390e362
Compare
An extra commit somehow got in this PR ("Remove AMCA param sets") that should not have been here. Just pushed to remove that one commit and leave just the one RPM spec file update commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your commit message looks like it has the remnants of a checkpoint commit squash.
- Default all 3rd-party packages to be "external". It is strognly recomended that the RPM only contain Open MPI, not the embedded 3rd-party packages. This behavior can be overridden via the configure_options rpmbuild macros. - Copy all the Sphinx-generated HTML files to pkgdocdir/html. These are not normally installed, but it's probably worth it for the RPM. - Remove no-longer-existing INSTALL file. This file was removed as part of the conversion to RST-based documentation. - Tighten up files listings for the individual RPMs. - Convert -docs sub-package to exclusively use mandir and pkgdocdir (instead of docs.files). We already excluded mandir because rpmbuild may have renamed all the man pages after compressing them (so we didn't necessarily know the correct filenames). We also explicitly list pkgdocdir so that it picks up the entire tree of files and also removes the entire tree (including directories) when the RPM is removed. - Remove some stale F77 and VT references. - Fix some minor typos. - Fix a few "file listed twice" warnings and clean up lists of files included in the runtime and devel sub-project RPMs. Signed-off-by: Jeff Squyres <[email protected]>
🤬 Thanks for finding that. Fixed. |
390e362
to
64a0337
Compare
Adding "-j12" to the mflags was intended as a debuggin aid; it accidentally slipped through and was merged as part of open-mpi#10224. Signed-off-by: Jeff Squyres <[email protected]>
Adding "-j12" to the mflags was intended as a debuggin aid; it accidentally slipped through and was merged as part of open-mpi#10224. Signed-off-by: Jeff Squyres <[email protected]> (cherry picked from commit d034ed6)
recomended that the RPM only contain Open MPI, not the embedded
3rd-party packages. This behavior can be overridden via the
configure_options rpmbuild macros.
are not normally installed, but it's probably worth it for the RPM.
part of the conversion to RST-based documentation.
(instead of docs.files). We already excluded mandir because
rpmbuild may have renamed all the man pages after compressing them
(so we didn't necessarily know the correct filenames). We also
explicitly list pkgdocdir so that it picks up the entire tree of
files and also removes the entire tree (including directories) when
the RPM is removed.
of these because in some cases it will appear, but in other cases it
will not -- depending on the prefix).
Signed-off-by: Jeff Squyres [email protected]