@@ -108,8 +108,14 @@ jobs:
108108 spack -e cxx add py-fenics-ufl@main commit=$UFL_SHA
109109 spack -e cxx add fenics-ufcx@main commit=$FFCX_SHA
110110 spack -e cxx add py-fenics-ffcx@main commit=$FFCX_SHA
111+ # NOTE: adios2~sz drops the SZ2 compression dependency. 'sz'
112+ # installs its own unversioned libzstd.so, which interposes on the
113+ # real zstd once libdolfinx is loaded; a ZSTD_DCtx then gets
114+ # allocated in one zstd and freed in the other. This segfaults
115+ # Mesa's llvmpipe shader disk cache, so any PyVista render
116+ # following 'import dolfinx' crashes (see 'Run Python demos').
111117 spack -e cxx add fenics-dolfinx@main+petsc+slepc+adios2 commit=${{ github.sha }} build_type=Developer partitioners=parmetis \
112- ^petsc+mpi+mumps+superlu-dist+hypre ^adios2~libcatalyst~fortran
118+ ^petsc+mpi+mumps+superlu-dist+hypre ^adios2~libcatalyst~fortran~sz
113119 spack -e cxx add catch2 ninja
114120 spack -e cxx concretize -j 4
115121 spack -e cxx install -j 4 --use-buildcache auto
@@ -162,13 +168,16 @@ jobs:
162168 spack -e py add py-fenics-ufl@main commit=$UFL_SHA
163169 spack -e py add fenics-ufcx@main commit=$FFCX_SHA
164170 spack -e py add py-fenics-ffcx@main commit=$FFCX_SHA
171+ # NOTE: see the 'Build library (C++)' step for why adios2~sz is
172+ # required -- without it the PyVista demos segfault.
165173 spack -e py add fenics-dolfinx@main+petsc+slepc+adios2 commit=${{ github.sha }} build_type=Developer partitioners=parmetis \
166- ^petsc+mpi+mumps+superlu-dist+hypre ^adios2~libcatalyst~fortran
174+ ^petsc+mpi+mumps+superlu-dist+hypre ^adios2~libcatalyst~fortran~sz
167175 spack -e py add py-fenics-dolfinx@main+petsc4py+slepc4py commit=${{ github.sha }} build_type=Developer
168176 spack -e py add py-gmsh ^gmsh~med~fltk+external ^opencascade~draw py-pyamg py-matplotlib \
169177 py-networkx \
170178 py-numba ^llvm~clang~lldb~lld~offload~libomptarget~polly targets=x86 \
171- py-pytest py-pytest-xdist py-scipy py-pyvista ^mesa~llvm
179+ py-pytest py-pytest-xdist py-scipy \
180+ "py-pyvista ^[virtuals=gl] osmesa"
172181 spack -e py concretize -j 4
173182 spack -e py install -j 4 --use-buildcache auto
174183
0 commit comments