diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 88add093759..f9950f5f0f3 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -89,6 +89,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update + sudo apt-get install libffi-dev sudo apt-get install catch2 cmake g++ libboost-dev libboost-timer-dev libhdf5-mpi-dev libparmetis-dev libpugixml-dev libspdlog-dev mpi-default-dev ninja-build pkg-config - name: Set up Python uses: actions/setup-python@v5 @@ -214,6 +215,8 @@ jobs: - name: Build Python interface run: | + apt-get -y update + apt-get -y install libffi-dev pip install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Debug" 'python/[test]' python -c "from mpi4py import MPI; import dolfinx; assert dolfinx.has_adios2; assert dolfinx.has_kahip; assert not dolfinx.has_parmetis; assert dolfinx.has_petsc; assert dolfinx.has_petsc4py; assert dolfinx.has_ptscotch; assert dolfinx.has_slepc; assert dolfinx.has_complex_ufcx_kernels" @@ -268,6 +271,8 @@ jobs: - name: Build Python interface run: | + apt-get -y update + apt-get -y install libffi-dev pip install -r python/build-requirements.txt pip install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Debug" 'python/[docs]' diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 6ff1ceda5d2..5488e0c5ef8 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -30,6 +30,7 @@ jobs: - name: Install Homebrew dependencies run: | + brew install libffi brew install adios2 boost cmake hdf5-mpi make ninja open-mpi pkg-config pugixml spdlog # FEniCS brew install bison flex gfortran # PETSc diff --git a/.github/workflows/oneapi.yml b/.github/workflows/oneapi.yml index 09b96b25359..69617691883 100644 --- a/.github/workflows/oneapi.yml +++ b/.github/workflows/oneapi.yml @@ -38,6 +38,7 @@ jobs: - name: Install compiler dependencies run: | apt-get -y update + apt-get -y install libffi-dev apt-get -y install binutils libstdc++-14-dev - uses: actions/checkout@v4 @@ -97,7 +98,8 @@ jobs: ctest -R demo -R mpi_2 - name: Build DOLFINx Python interface - run: pip -v install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Developer" python/ + run: | + pip -v install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Developer" python/ - name: Run DOLFINx demos (Python, serial) run: python -m pytest -v -n=2 -m serial --durations=10 python/demo/test.py - name: Run DOLFINx demos (Python, MPI (np=2)) diff --git a/.github/workflows/redhat.yml b/.github/workflows/redhat.yml index 76aaadca04e..d64337b1788 100644 --- a/.github/workflows/redhat.yml +++ b/.github/workflows/redhat.yml @@ -30,6 +30,8 @@ jobs: - name: Install FEniCS Python components run: | + yum -y update + yum install -y libffi-devel python3 -m pip install git+https://github.com/FEniCS/ufl.git python3 -m pip install git+https://github.com/FEniCS/basix.git python3 -m pip install git+https://github.com/FEniCS/ffcx.git diff --git a/python/pyproject.toml b/python/pyproject.toml index a2a4eddcf62..5da8411f92e 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -21,7 +21,7 @@ authors = [ ] dependencies = [ "numpy>=1.21", - "cffi<1.17", # See https://github.com/FEniCS/dolfinx/issues/3340 + "cffi@git+https://github.com/python-cffi/cffi@main", "mpi4py", "fenics-basix>=0.10.0.dev0,<0.11.0", "fenics-ffcx>=0.10.0.dev0,<0.11.0",