Skip to content

OpenMPI path issue with khiops 10.2.2 on Debian-like OS #209

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

Closed
tramora opened this issue Jul 9, 2024 · 5 comments · Fixed by #218
Closed

OpenMPI path issue with khiops 10.2.2 on Debian-like OS #209

tramora opened this issue Jul 9, 2024 · 5 comments · Fixed by #218
Assignees
Labels
Status/Done The issue has been addressed and merged to the dev branch
Milestone

Comments

@tramora
Copy link
Collaborator

tramora commented Jul 9, 2024

Description

When using khiops-python API, the following command line is eventually executed :

/bin/mpiexec --allow-run-as-root --quiet -n 14 /usr/bin/MODL -b -i train_predictor_XXX._kh -e khiops.log

With openmpi installed with this 10.2.2-1 version it fails :

--------------------------------------------------------------------------
A prefix was supplied to mpiexec that only contained slashes.

This is a fatal error; mpiexec will now abort.  No processes were launched.
--------------------------------------------------------------------------

Questions/Ideas

This issue is already identified on the openmpi project open-mpi/ompi#5613.

To my understanding, the issue exists on systems (Arch, Ubuntu) where /bin/ is a symlink to /usr/bin. A kind of nasty loop occurs.

A fix on khiops-python was already committed once 75d0bf7 but unfortunately seems to have been reverted.

The symlink was followed and the real binary was reached.

/bin/mpiexec -> /etc/alternatives/mpiexec -> /usr/bin/mpiexec.openmpi    

I think we should put back this fix.

@folmos-at-orange
Copy link
Member

Why/how the commit 75d0bf7 was lost?

@folmos-at-orange folmos-at-orange added Priority/0-High To do now Type/Bug Status/ReadyForDev The issue is ready to be developed or to be investigated deeply labels Jul 19, 2024
@folmos-at-orange folmos-at-orange changed the title openmpi path issue when running khiops 10.2.2-1 on Arch+debian-like OS using khiops-python openmpi path issue when running khiops 10.2.2-1 on Arch+debian-like OS Jul 22, 2024
@folmos-at-orange folmos-at-orange changed the title openmpi path issue when running khiops 10.2.2-1 on Arch+debian-like OS OpenMPI path issue with khiops 10.2.2 on Arch+debian-like OS Jul 22, 2024
@popescu-v
Copy link
Collaborator

popescu-v commented Jul 29, 2024

Why/how the commit 75d0bf7 was lost?

It was lost on some rebasing / folding of the commits in the PR #187 IIRC (at that time I thought that this fix was no longer necessary, as it was needed in the context of the wrong inference of the Conda binary directory when running tests with non-Conda khiops inside Conda environments - as in our unit-tests workflow).

@popescu-v popescu-v changed the title OpenMPI path issue with khiops 10.2.2 on Arch+debian-like OS OpenMPI path issue with khiops 10.2.2 on Debian-like OS Jul 29, 2024
@folmos-at-orange
Copy link
Member

Ok, no prob. Just in case I restored the commit in this issue's branch.

@popescu-v
Copy link
Collaborator

Ok, no prob. Just in case I restored the commit in this issue's branch.

As, in all likelihood, this is a bug, I would have made a flash release with this fix only, without waiting for this branch to be ready to merge.

popescu-v added a commit that referenced this issue Jul 30, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
popescu-v added a commit that referenced this issue Jul 30, 2024
Otherwise, in some situations, we get to /bin/mpiexec (which is
a symlink to the real path) which makes OpenMPI fail; see:
open-mpi/ompi#5613

closes #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Otherwise, in some situations, we get to /bin/mpiexec (which is
a symlink to the real path) which makes OpenMPI fail; see:
open-mpi/ompi#5613

closes #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Otherwise, in some situations, we get to /bin/mpiexec (which is
a symlink to the real path) which makes OpenMPI fail; see:
open-mpi/ompi#5613

closes #209
@popescu-v popescu-v linked a pull request Jul 31, 2024 that will close this issue
popescu-v added a commit that referenced this issue Jul 31, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Otherwise, in some situations, we get to /bin/mpiexec (which is
a symlink to the real path) which makes OpenMPI fail; see:
open-mpi/ompi#5613

closes #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Otherwise, in some situations, we get to /bin/mpiexec (which is
a symlink to the real path) which makes OpenMPI fail; see:
open-mpi/ompi#5613

closes #209
popescu-v added a commit that referenced this issue Jul 31, 2024
Thus, mpiexec can be /bin/mpiexec through symlinks

related_to #209
@folmos-at-orange folmos-at-orange added this to the 10.2.2.3 milestone Jul 31, 2024
@folmos-at-orange folmos-at-orange added Status/Done The issue has been addressed and merged to the dev branch and removed Status/ReadyForDev The issue is ready to be developed or to be investigated deeply labels Jul 31, 2024
@folmos-at-orange folmos-at-orange removed the Priority/0-High To do now label Sep 10, 2024
@popescu-v
Copy link
Collaborator

Actually, the issue occurs if /bin is before /usr/bin in PATH, but this does not occur in vanilla versions of any Linux that Khiops currently supports, viz Ubuntu 20.04, 22.04, 24.04 ; Rocky 8, 9 ; Debian 10, 11, 12.

Arch (mentioned in the issue) is not currently supported by Khiops.

popescu-v added a commit that referenced this issue Oct 9, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 9, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 10, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 10, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 10, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 14, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 14, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 14, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
popescu-v added a commit that referenced this issue Oct 14, 2024
This path change was meant to test issue
#209, which is moot in
our case, because:

- all currently supported Linux distributions (Ubuntu 20.04, 22.04, 24.04;
  Rocky 8, 9; Debian 10, 11, 12) have `/usr/bin` before `/bin` in `PATH`
- the Arch Linux distribution that is mentioned in the above-cited issue
  is not currently supported.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status/Done The issue has been addressed and merged to the dev branch
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants