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

with-pmix doesn't ensure all is available #1655

Closed
trws opened this issue Sep 12, 2018 · 14 comments
Closed

with-pmix doesn't ensure all is available #1655

trws opened this issue Sep 12, 2018 · 14 comments

Comments

@trws
Copy link
Member

trws commented Sep 12, 2018

The current check for pmix checks for the library, but doesn't check for the headers. It also doesn't take a path to allow pmix to be outside of the standard search path, as is the norm for some distributions. This is currently causing some of the test issues in #1652.

@grondo
Copy link
Contributor

grondo commented Sep 12, 2018

Wish they just used pkg-config. Ah well, I'll look into fixing up our x_ac_pmix.m4

@trws
Copy link
Member Author

trws commented Sep 12, 2018 via email

@grondo
Copy link
Contributor

grondo commented Sep 12, 2018

Is it ok that the libpmix package installs the headers into a multiarch location?

/usr/include/x86_64-linux-gnu/pmix/include/pmi.h
/usr/lib/x86_64-linux-gnu/pmix/include/pmix.h

That seems wrong -- is there some reason pmix.h/pmi.h are architecture specific?
Maybe this issue would be more tractable if we followed the example from our current testing repo -- install mpich for mpi testing, and build and install pmix on the side just for sanity testing the compile.

@garlick
Copy link
Member

garlick commented Sep 12, 2018

That sounds fine to me. Minimizing effort here would be good since this only exists in flux to work around IBM's packaging issues. It adds little of value otherwise since the almost identical code is in pmix's compatibility library and we use that if it's there, which I assume it is everywhere but on this spectrum MPI system.

@dongahn
Copy link
Member

dongahn commented Sep 12, 2018

It adds little of value otherwise since the almost identical code is in pmix's compatibility library and we use that if it's there, which I assume it is everywhere but on this spectrum MPI system.

We at least tried. Oh well. 😞

@trws
Copy link
Member Author

trws commented Sep 12, 2018 via email

@garlick
Copy link
Member

garlick commented Sep 12, 2018

I'm confused, are you saying that openmpi's mpirun can't launch flux if flux is not built --with-pmix?

Since we don't provide pmix (even --with-pmix), does that mean we can no longer launch openmpi programs at all?

@trws
Copy link
Member Author

trws commented Sep 12, 2018 via email

@dongahn
Copy link
Member

dongahn commented Sep 12, 2018

Maybe, orterun and/or mpirun don't add the path to the backward compatibility libpmi to LD_LIBRARY_PATH for the program (i.e., flux) being launched, while adding the libpmix path. If this is the case, isn't this an issue in their packaging?

@grondo
Copy link
Contributor

grondo commented Sep 12, 2018

Do we need a separate issue to track the problem where orte can't launch flux that wasn't built with --with-pmix? Looking at the OpenMPI/pmix packaging on Ubuntu, I would not at all be surprised if it boiled down to a packaging problem.

@grondo
Copy link
Contributor

grondo commented Sep 12, 2018

To match most of the other flux dependencies, I'll add a couple AC_ARG_VAR definitions for use in --with-pmix (as if they actually supported pkg-config), instead of supporting --with-pmix=PREFIX. I'm not even sure --with-pmix=PREFIX would work the way they've got this thing packaged.

e.g.

$ ./configure --help
[snip]

Some influential environment variables:
  PKG_CONFIG  path to pkg-config utility
  CC          C compiler command
  CFLAGS      C compiler flags
[snip]
 PMIX_CFLAGS Additional compiler flags for PMIx
 PMIX_LDFLAGS
              Additional linker flags for PMIx
...

@trws
Copy link
Member Author

trws commented Sep 13, 2018 via email

@trws
Copy link
Member Author

trws commented Sep 13, 2018

Ok, I clearly messed up some assumptions yesterday. The with-pmix issue causes problems building flux and subsequently running it with the openmpi launcher, usual thing, but it amounts to just wanting to be able to pass the information to configure more cleanly. The MPI issue I was seeing was something else. The older openmpi packaged with ubuntu bionic ships without the flux module for no apparent good reason, on Debian sid the flux module is there but immediately segfaults. I'll open a separate issue for the segfault issue, but I think the solve for this is going to be using mpich in the test environment so we don't have to deal with this pmix foolishness.

@garlick
Copy link
Member

garlick commented Sep 15, 2018

Closing since we nixed pmix client in #1662

@garlick garlick closed this as completed Sep 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants