Error installing Dedalus v2 (custom conda installation)

13 views
Skip to first unread message

Igor Albuquerque Maia

unread,
Dec 2, 2025, 9:30:30 AM (4 days ago) Dec 2
to Dedalus Users
Hi everyone,

I am trying to install dedalus v2 in my university's cluster, which uses spack for package management. I am trying the custom conda installation, modifying MPI_PATH and FFFW_PATH. However, I am running into the issue below, which might be related to the link between fftw3 and mpi, but I am not sure.

Collecting https://github.com/dedalusproject/dedalus/zipball/v2_master/

  Downloading https://github.com/dedalusproject/dedalus/zipball/v2_master/ (6.3 MB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 2.3 MB/s eta 0:00:00

  Installing build dependencies ... done

  Getting requirements to build wheel ... done

  Preparing metadata (pyproject.toml) ... done

Requirement already satisfied: docopt in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (0.6.2)

Requirement already satisfied: h5py>=2.10.0 in /home/spack/spack/opt/spack/linux-x86_64/py-h5py-3.14.0-5tk56otzefehe2ax4lmomnsyykf5xhvb/lib/python3.13/site-packages (from dedalus==2.2207.3) (3.14.0)

Requirement already satisfied: matplotlib in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (3.10.7)

Requirement already satisfied: mpi4py>=2.0.0 in /home/spack/spack/opt/spack/linux-x86_64/py-mpi4py-4.0.1-zogljh57ijrqca2eqxbfoon2fti4q27g/lib/python3.13/site-packages (from dedalus==2.2207.3) (4.0.1)

Requirement already satisfied: numpy>=1.20.0 in /home/spack/spack/opt/spack/linux-x86_64/py-numpy-2.3.3-yzeuq5nnbbupsb3o4seofvicto6reazw/lib/python3.13/site-packages (from dedalus==2.2207.3) (2.3.3)

Requirement already satisfied: py in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (1.11.0)

Requirement already satisfied: pytest in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (9.0.1)

Requirement already satisfied: pytest-benchmark in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (5.2.3)

Requirement already satisfied: pytest-cov in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (7.0.0)

Requirement already satisfied: pytest-parallel in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from dedalus==2.2207.3) (0.1.1)

Requirement already satisfied: scipy>=1.4.0 in /home/spack/spack/var/spack/environments/vanilla/.spack-env/view/lib/python3.13/site-packages (from dedalus==2.2207.3) (1.16.2)

Requirement already satisfied: contourpy>=1.0.1 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (1.3.3)

Requirement already satisfied: cycler>=0.10 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (0.12.1)

Requirement already satisfied: fonttools>=4.22.0 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (4.61.0)

Requirement already satisfied: kiwisolver>=1.3.1 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (1.4.9)

Requirement already satisfied: packaging>=20.0 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (25.0)

Requirement already satisfied: pillow>=8 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (12.0.0)

Requirement already satisfied: pyparsing>=3 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (3.2.5)

Requirement already satisfied: python-dateutil>=2.7 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from matplotlib->dedalus==2.2207.3) (2.9.0.post0)

Requirement already satisfied: six>=1.5 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from python-dateutil>=2.7->matplotlib->dedalus==2.2207.3) (1.17.0)

Requirement already satisfied: iniconfig>=1.0.1 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from pytest->dedalus==2.2207.3) (2.3.0)

Requirement already satisfied: pluggy<2,>=1.5 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from pytest->dedalus==2.2207.3) (1.6.0)

Requirement already satisfied: pygments>=2.7.2 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from pytest->dedalus==2.2207.3) (2.19.2)

Requirement already satisfied: py-cpuinfo in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from pytest-benchmark->dedalus==2.2207.3) (9.0.0)

Requirement already satisfied: coverage>=7.10.6 in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from coverage[toml]>=7.10.6->pytest-cov->dedalus==2.2207.3) (7.12.0)

Requirement already satisfied: tblib in /home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/lib/python3.13/site-packages (from pytest-parallel->dedalus==2.2207.3) (3.2.2)

Building wheels for collected packages: dedalus

  Building wheel for dedalus (pyproject.toml) ... error

  errorsubprocess-exited-with-error

  

  × Building wheel for dedalus (pyproject.toml) did not run successfully.

   exit code: 1

  ╰─> [91 lines of output]

      Looking for mpi include path

        Cannot find env var MPI_INCLUDE_PATH

      Looking for mpi prefix

        Found env var MPI_PATH = /home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel

      Looking for fftw include path

        Cannot find env var FFTW_INCLUDE_PATH

      Looking for fftw prefix

        Found env var FFTW_PATH =  /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh

      Looking for fftw library path

        Cannot find env var FFTW_LIBRARY_PATH

      Looking for fftw prefix

        Found env var FFTW_PATH =  /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh

      Looking for mpi library path

        Cannot find env var MPI_LIBRARY_PATH

      Looking for mpi prefix

        Found env var MPI_PATH = /home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel

      Statically linking FFTW

      Looking for fftw library path

        Cannot find env var FFTW_LIBRARY_PATH

      Looking for fftw prefix

        Found env var FFTW_PATH =  /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh

      CC set to mpicc; using gcc linker flags

      running bdist_wheel

      running build

      running build_py

      creating build/lib.linux-x86_64-cpython-313/dedalus

      copying dedalus/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus

      copying dedalus/__main__.py -> build/lib.linux-x86_64-cpython-313/dedalus

      copying dedalus/dev.py -> build/lib.linux-x86_64-cpython-313/dedalus

      copying dedalus/public.py -> build/lib.linux-x86_64-cpython-313/dedalus

      creating build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/basis.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/distributor.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/domain.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/evaluator.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/field.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/future.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/metadata.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/operators.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/pencil.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/problems.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/solvers.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/system.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      copying dedalus/core/timesteppers.py -> build/lib.linux-x86_64-cpython-313/dedalus/core

      creating build/lib.linux-x86_64-cpython-313/dedalus/extras

      copying dedalus/extras/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/extras

      copying dedalus/extras/atmospheres.py -> build/lib.linux-x86_64-cpython-313/dedalus/extras

      copying dedalus/extras/flow_tools.py -> build/lib.linux-x86_64-cpython-313/dedalus/extras

      copying dedalus/extras/plot_tools.py -> build/lib.linux-x86_64-cpython-313/dedalus/extras

      creating build/lib.linux-x86_64-cpython-313/dedalus/libraries

      copying dedalus/libraries/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/libraries

      copying dedalus/libraries/matsolvers.py -> build/lib.linux-x86_64-cpython-313/dedalus/libraries

      creating build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_bvp.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_evp.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_ivp.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_matsolvers.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_nlbvp.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      copying dedalus/tests/test_output.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests

      creating build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/array.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/cache.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/config.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/dispatch.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/exceptions.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/general.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/logging.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/parallel.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/parsing.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/plot_op.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/post.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/progress.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      copying dedalus/tools/sparse.py -> build/lib.linux-x86_64-cpython-313/dedalus/tools

      creating build/lib.linux-x86_64-cpython-313/dedalus/libraries/fftw

      copying dedalus/libraries/fftw/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/libraries/fftw

      creating build/lib.linux-x86_64-cpython-313/dedalus/tests/special_functions

      copying dedalus/tests/special_functions/__init__.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests/special_functions

      copying dedalus/tests/special_functions/airy.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests/special_functions

      copying dedalus/tests/special_functions/bessel.py -> build/lib.linux-x86_64-cpython-313/dedalus/tests/special_functions

      copying dedalus/dedalus.cfg -> build/lib.linux-x86_64-cpython-313/dedalus

      copying dedalus/examples.tar.gz -> build/lib.linux-x86_64-cpython-313/dedalus

      running build_ext

      building 'dedalus.libraries.fftw.fftw_wrappers' extension

      creating build/temp.linux-x86_64-cpython-313/dedalus/libraries/fftw

      mpicc -march=x86_64 -fPIC -Idedalus/libraries/fftw/ -I/tmp/pip-build-env-6tu1c04j/overlay/lib/python3.13/site-packages/numpy/_core/include -I/tmp/pip-build-env-6tu1c04j/overlay/lib/python3.13/site-packages/mpi4py/include -I/home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel/include "-I /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh/include" -I/home/spack/spack/opt/spack/linux-x86_64/python-3.13.5-nmp2utgroeo5dyz6swm2oir4z7xahszr/include/python3.13 -c dedalus/libraries/fftw/fftw_wrappers.c -o build/temp.linux-x86_64-cpython-313/dedalus/libraries/fftw/fftw_wrappers.o -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Wno-unused-function

      cc1: error: bad value (‘x86_64’) for ‘-march=’ switch

      cc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 native; did you mean ‘x86-64’?

      error: command '/home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel/bin/mpicc' failed with exit code 1

      [end of output]


Has anyone seen this before? Is there a fix? 

The bash script used for installation is the following:

spack env activate -p vanilla
# Venv name
DENV=dedalus2

# Initialize .bashrc to access "conda" command
source $HOME/.bashrc

# Loading environment modules
spack load py-...@3.14.0
spack load py-...@25.1.1
spack load ff...@3.3.10
spack load ope...@4.1.8
spack load py-m...@4.0.1
echo -e "\n###################"
echo "Virtual environment"
echo -e "###################\n"

printf '\n' | conda create -n $DENV
conda activate $DENV

echo -e "\n############"
echo "Dependencies"
echo -e "############\n"
printf '\n' | conda install python=3.11


# Paths for Dedalus
export FFTW_PATH=" /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh"
export MPI_PATH="/home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel"
export HDF5_DIR=" /home/spack/spack/opt/spack/linux-x86_64/hdf5-1.14.6-grp4ie7ay5gwy3tnrkegw26biqkpgwfl"
export FFTW_STATIC=1

# Compiler commands for distutils
export CC=mpicc
export LDSHARED="mpicc -shared"

echo -e "\n######"
echo "mpi4py"
echo -e "######\n"
#export MPICC="mpicc -shared"
pip install --no-cache-dir --no-binary=mpi4py mpi4py  

# Disable threading in the environment (strongly recommended for performance)
conda env config vars set OMP_NUM_THREADS=1
conda env config vars set NUMEXPR_MAX_THREADS=1

# Restart venv
conda deactivate
conda activate $DENV

# Dedalus installation
# The paths should be the ones of the loaded modules
#export MPI_PATH="/home/spack/spack/opt/spack/linux-x86_64/openmpi-4.1.8-hbsna5mr2ak77hlijmwidqo4agwtihel"
#export FFTW_PATH=" /home/spack/spack/opt/spack/linux-x86_64/fftw-3.3.10-2yu6o7ullvangmr3aj5osrkourv6egvh"
CC=mpicc pip3 install --no-cache https://github.com/dedalusproject/dedalus/zipball/v2_master/

# Testing installation
python3 -m dedalus test


Thanks,

Igor
Reply all
Reply to author
Forward
0 new messages