SCOREC / core

parallel finite element unstructured meshes
Other
179 stars 63 forks source link

pumi install via spack with simmodsuite=base fails #368

Open cwsmith opened 2 years ago

cwsmith commented 2 years ago

The PUMI cmake command fails when it can't find SimParititonedMesh-mpi as done here:

https://github.com/SCOREC/core/blob/fc75be06a7b7dbcc7e947b4979beeb597ac6af77/cmake/FindSimModSuite.cmake#L101-L104

The base install of SimModSuite via Spack does not appear to include this lib. (to be confirmed)

Thomas-Ulrich commented 1 year ago

I would change: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/pumi/package.py#L97-L98 to:

        if self.spec.satisfies("simmodsuite=base"):
            args.append("-DENABLE_SIMMETRIX=ON")
            mpi_id = spec["mpi"].name + spec["mpi"].version.up_to(1).string
            args.append("-DSIM_MPI=" + mpi_id)

and change also https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/pumi/package.py#L104 to mpi_id = spec["mpi"].name + spec["mpi"].version.up_to(1).string

Because the precompiled libraries are: libSimPartitionWrapper-mpich3.a, libSimPartitionWrapper-openmpi4.a or libSimPartitionWrapper-openmpi3.a

By the way, it would be nice it would be possible to fine-tune the install with simmodsuite, e.g. compiling

args.append("-DSIM_DISCRETE=ON")

but without:

args.append("-DSIM_ACIS=ON")
args.append("-DSIM_PARASOLID=ON")