Skip to content

Dependencies of external packages not concretized, and consequently missing from spack environments #41682

@fgava90

Description

@fgava90

This is not really a bug, but something i find rather annoying and wanted to know if there was a clean solution to this.

Say I have built externally all OpenMPI dependencies (ucx, hwloc, pmix, slurm, etc...) in a custom location that is not set in PATH.
If i create an environment with a package depending on mpi say:

spack:  
  specs:
    - scotch+mpi ^openmpi
   view: true

I'll find in my environment the paths to the libraries and binaries of those external packages on which openmpi depends (ucx, hwloc, pmix, slurm, etc).
Now, if I just declare openmpi as an external package, all those dependencies are no longer concretized (the tree stops at openmpi) and consequently their path is no longer added into the environment.
When compiling openmpi externally i've done my job correctly so everything has been added in the rpath of the openmpi libraries, so no issues there, however all binaries are of course missing from PATH.
Other than adding them manually to PATH or to the list of specs in the environment, is there another solution to concretize also the dependencies of an external package and have them in the spack environment?

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions