Hi,

I'm having trouble using `guix pack` to package an MPI application. On the 
target machine, I

* unpack the tarball and search for the `mpirun` executable
* change into the application folder and run the application using something 
like
```
/gnu/store/8hfv0bjynywx6visp8nq01vqdaqskx3b-openmpi-4.1.6/bin/mpirun -np 8 
--allow-run-as-root ./mpas_atmosphere
```
The application starts, the application log shows that 8 MPI `tasks` are used, 
the application is initialized fine 
for a while, but then there is an error message coming from one process that 
the application encountered an error.

More detail:
*) The host (build machine) is an Archlinux VM with the Guix package manager 
installed.
*) The above `mpirun` command runs fine on the host (using 8 processes on a 
single VM, if I understand correctly this is using the openmpi sm/vader BTL but 
I don't know much about MPI). The application finishes as it should.
*) I create the pack using
```
guix time-machine --commit=$guix_commit -- \
    pack \
    -L /mnt/persistent/build/guix-science \
    mpas-atmosphere hwloc \
```
*) The target is Archlinux running on bare metal. No openmpi installed (nor any 
other MPI).
*) I'm root and extract the /gnu folder in to the root folder /. I don't any 
namespaces (neither mount nor user).
*) The above command runs fine on the target using `-np 1` in the above 
`mpirun` command.
*) I installed hwloc in addition as it does not get packed automatically, and 
prefixed the PATH with the pack's `...-profile/bin` 
*) I double checked with `ldd` that the `mpirun` executable is in the same 
store item as the mpi libraries `mpas-atmosphere` is linked against.
*) The application is `mpas-atmosphere`, an atmospheric model I recently packed 
for guix-science (with a lot of help from the reviewer).

Do you know what could be wrong here?
Should I use the guix-science mailing list instead? Given that openmpi is 
packaged in Guix, I thought I'd ask here as I don't think this is an 
application-specific problem but rather an MPI problem?


Reply via email to