Closed alansill closed 3 years ago
Spindle only requires MPI for its testsuite, which tries to launch MPI jobs and ensure they run correctly in Spindle. If you add 'mpicc' to your PATH when you configure then Spindle should find that and use it in the testsuite's build. Alternatively, you could disable the testsuite in your configure line with --enable-testsuite=no.
I had thought a not-found MPI at configure time would disable the testsuite build, but that doesn't look to be happening. I'll leave this issue to look into that.
To pick up on this issue, I've compiled spindle with tests and a template:
./configure --with-munge-dir=/etc/munge --enable-sec-munge --with-slurm-dir=/etc/slurm --with-testrm=slurm
make
make install
And I've tried that with both slurm and openmpi as the "testrm" And then I make the tests
cd testsuite
make
./runTests
but no matter what I do (using the slurm or openmpi template, both of which I have) I see this error:
Running: ./run_driver --partial --session
ERROR: Spindle could not connect to session tn2VYQ
I saw this same error in trying to just use spindle so I've gone back to the tests to debug.
@vsoch -- Did you mean to post this comment to the container demo PR?
It was related moreso to #39 but that issue was closed in favor of this one so I opened here.
I think this is a different issue. I'd suggest opening a new issue.
This looks like an internal spindle error. The code around this error is trying to set up a named pipe in /tmp for communicating between two processes. Could the system be missing a /tmp area?
Sure will do!
And that could be it - I do have a /tmp area, but I didn't create a shared /tmp area for my containers and I think that might be needed. I'll try that, and if the issue is still there will open a new one.
Fixed the original testsuite build issue in the 'devel' branch.
A plain spack installation or manual installation without an active MPI variant defined throws an error with a missing
mpi.h
in the testsuite, as below:Does Spindle require a specific MPI package to be set up to address the missing
mpi.h
and if so, is a separate Spindle instance required for each MPI variant to be used? We have many MPI variants in use, of course, so the latter would definitely be a hassle to use, but I suspect I am missing something obvious here.