Giter Site home page Giter Site logo

Comments (5)

muffgaga avatar muffgaga commented on June 12, 2024

The spack build logs:

spack-configure-args.txt
spack-build-out.txt
spack-build-env.txt
spack-build-env-mods.txt
spack-build-01-cmake-out.txt

from nest-simulator.

muffgaga avatar muffgaga commented on June 12, 2024

Eleni cross-checked for "official" EBRAINS collab builds that it also fails there when building without mpi: https://gitlab.ebrains.eu/technical-coordination/project-internal/devops/platform/ebrains-spack-builds/-/jobs/52502 (not-yet-public repo → @terhorstd again :))

from nest-simulator.

muffgaga avatar muffgaga commented on June 12, 2024

Eleni added link dependency on hdf5 in the recipe and it seems to fix it…
i.e. depends_on('hdf5+cxx', when='@3.4.99:+sonata', type=('build', 'link', 'run')).

from nest-simulator.

muffgaga avatar muffgaga commented on June 12, 2024

During testing of #3112, it was deduced that the hdf5 variant influences this behavior.
If hdf5 wasn't built with mpi enabled, the with/without options works flawlessly — i.e. the bug can only be triggered if hdf5 is built with mpi support, but nest without.

from nest-simulator.

muffgaga avatar muffgaga commented on June 12, 2024

For the spack package I proposed to align nest and its (sonata-feature-optional) dependency on hdf, i.e. use hdf5 in an MPI version if NEST is to be built with MPI.

diff --git a/packages/nest/package.py b/packages/nest/package.py
index f88e8f3..ebd8484 100644
--- a/packages/nest/package.py
+++ b/packages/nest/package.py
@@ -93,7 +93,8 @@ class Nest(CMakePackage):
     depends_on('boost',             when="@2.16:+boost", type='build')
     depends_on('py-setuptools@:44.99.99',     when='@:2.15.99+python', type='build')
     depends_on('py-h5py',           when='@3.4.99:+sonata', type=('test', 'build', 'run'))
-    depends_on('hdf5+cxx',          when='@3.4.99:+sonata', type=('build', 'link', 'run'))
+    depends_on('hdf5+cxx+mpi',      when='@3.4.99:+sonata+mpi', type=('build', 'link', 'run'))
+    depends_on('hdf5+cxx~mpi',      when='@3.4.99:+sonata~mpi', type=('build', 'link', 'run'))
     depends_on('py-pandas',         when='@3.4.99:+sonata', type=('build', 'run'))
 
     depends_on('py-nose',           when='@:2.99.99+python+testsuite', type='test')

⇒ So technically, this avoids the issue for spack installs — it could be still reasonable to try within nest's cmake flow to detect this and fail with a "helpful" error message (e.g. if HDF5_ENABLE_PARALLEL is ON, but nest's ${with-mpi} isn't ⇒ error).

from nest-simulator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.