CMake error while building and installing dolfinx c++ core

So I just followed the instructions right away as they’re available in github at GitHub - FEniCS/dolfinx: Next generation FEniCS problem solving environment, but there comes an error when I use the command cmake …/ on the ubuntu terminal. It displays this message:

CMake Error at CMakeLists.txt:119 (find_package):

By not providing “Findpugixml.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “pugixml”, but
CMake did not find one.

Could not find a package configuration file provided by “pugixml” with any
of the following names:

pugixmlConfig.cmake
pugixml-config.cmake

Add the installation prefix of “pugixml” to CMAKE_PREFIX_PATH or set
“pugixml_DIR” to a directory containing one of the above files. If
“pugixml” provides a separate development package or SDK, be sure it has
been installed.

– Configuring incomplete, errors occurred!
See also “/mnt/d/A–X/FEniCSx/dolfinx/cpp/build/CMakeFiles/CMakeOutput.log”.

I don’t know how to deal with it. If someone can help, I’d appreciate your time a lot.

As the error message says, you need to install “pugixml”
See: Installation — DOLFINx 0.6.0.0 documentation
for an extensive list of dependencies

Thanks for your reply! I checked but it looks like it is installed already. The problem I thing is about those two files named pugixmlConfig.cmake and the other one. Or maybe I’m a bit confused and I’m doing something wrong, but so far, I think it should be right but still there’s that error.

Where is it installed? What is the path to the installation?

I think this is the path: /mnt/d/A–X/cpp/pugixml-1.13 (if I’m doing things right… I’m a bit novice with installing c++ packages)

As this does not look like a standard installation location (what os are you using?),
You should set either

  1. pugixml_DIR
    Or append the path to
  2. CMAKE_PREFIX_PATH

Is there a specific reason for not using any of the other installation options (conda, spack or docker)?

I’m using WSL with Ubuntu.

I think I could fix the mistake about pugixml, but now I get this message when I try to cmake …/ on the build directory:

But I don’t know how to fix it :confused: sorry for so much bothering

Oh, and I wanted to learn how to install from source, but I think I’m getting used to it and also it’s a nice chance to learn rn :slight_smile:

As the output tells you, you are missing PETSc and UFCx, which are both listed in:

As a side note, I rarely install all the dependencies by hand, even as a developer. If you want a guide as to how to install everything from scratch on ubuntu, i would follow the Dockerfile:
https://github.com/FEniCS/dolfinx/blob/main/docker/Dockerfile
as it lists all the commands we run on a ubuntu 22.04 system, and is used for our CI

1 Like

Thank you, I think I made it. Now I got a message error when I try to run a demo: (demo_poisson.py)

Traceback (most recent call last):
  File "demo_poisson.py", line 91, in <module>
    V = fem.FunctionSpace(msh, ("Lagrange", 1))
  File "/usr/lib/petsc/lib/python3/dist-packages/dolfinx/fem/function.py", line 443, in __init__
    (self._ufcx_element, self._ufcx_dofmap), module, code = jit.ffcx_jit(
  File "/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py", line 56, in mpi_jit
    return local_jit(*args, **kwargs)
  File "/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py", line 206, in ffcx_jit
    r = ffcx.codegeneration.jit.compile_elements([ufl_object], parameters=p_ffcx, **p_jit)
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py", line 126, in compile_elements
    impl = _compile_objects(decl, elements, names, module_name, p, cache_dir,
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py", line 228, in _compile_objects
    import ffcx.compiler
  File "/usr/lib/python3/dist-packages/ffcx/compiler.py", line 71, in <module>
    from ffcx.codegeneration.codegeneration import generate_code
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/codegeneration.py", line 18, in <module>
    from ffcx.codegeneration.expressions import generator as expression_generator
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/expressions.py", line 16, in <module>
    from ffcx.codegeneration.backend import FFCXBackend
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/backend.py", line 9, in <module>
    from ffcx.codegeneration.access import FFCXBackendAccess
  File "/usr/lib/python3/dist-packages/ffcx/codegeneration/access.py", line 12, in <module>
    from ffcx.element_interface import create_element
  File "/usr/lib/python3/dist-packages/ffcx/element_interface.py", line 21, in <module>
    import basix.ufl_wrapper
  File "/home/krizerator/.local/lib/python3.8/site-packages/basix/ufl_wrapper.py", line 15, in <module>
    class _BasixElementBase(_FiniteElementBase):
  File "/home/krizerator/.local/lib/python3.8/site-packages/basix/ufl_wrapper.py", line 170, in _BasixElementBase
    def element_family(self) -> _typing.Union[_basix.ElementFamily, None]:
AttributeError: module 'basix' has no attribute 'ElementFamily'

I think this means I could install it properly somehow

Seems like you have installed a non compatible version of basix. What is the output of python3 -m pip list?

It’s this:

basix                         0.0.4

Here are all the packages, just in case:

Package                       Version
----------------------------- --------------------
aiohttp                       3.8.3
aiosignal                     1.3.1
alabaster                     0.7.8
altgraph                      0.17
anyio                         3.6.2
appdirs                       1.4.4
argon2-cffi                   21.3.0
argon2-cffi-bindings          21.2.0
asgiref                       3.3.4
asttokens                     2.1.0
async-timeout                 4.0.2
attrs                         19.3.0
Automat                       0.8.0
Babel                         2.11.0
backcall                      0.1.0
basix                         0.0.4
beautifulsoup4                4.11.1
bleach                        5.0.1
blinker                       1.4
cadena                        0.0.1
certifi                       2019.11.28
cffi                          1.15.1
chardet                       3.0.4
charset-normalizer            2.1.1
Click                         7.0
cloud-init                    22.4.2
colorama                      0.4.3
command-not-found             0.3
conda-package-handling        1.6.0
configobj                     5.0.6
constantly                    15.1.0
cryptography                  2.8
cupshelpers                   1.0
cycler                        0.10.0
dbus-python                   1.2.16
debugpy                       1.6.3
decorator                     4.4.2
defer                         1.0.6
defusedxml                    0.7.1
distro                        1.4.0
distro-info                   0.23ubuntu1
Django                        3.2.3
docutils                      0.19
entrypoints                   0.3
executing                     1.2.0
fastjsonschema                2.16.2
fenics                        2019.1.0
fenics-basix                  0.5.0
fenics-dijitso                2019.1.0
fenics-dolfin                 2019.2.0.dev0
fenics-dolfinx                0.4.1
fenics-ffc                    2019.1.0.post0
fenics-ffcx                   0.4.2
fenics-fiat                   2019.1.0
fenics-ufl                    2019.1.0
frozenlist                    1.3.3
furo                          2022.9.29
gmsh                          4.11.0
httplib2                      0.14.0
hyperlink                     19.0.0
idna                          2.8
imageio                       2.22.4
imagesize                     1.4.1
importlib-metadata            5.0.0
incremental                   16.10.1
ipykernel                     6.17.0
ipython                       8.6.0
ipython_genutils              0.2.0
jedi                          0.18.1
Jinja2                        3.1.2
joblib                        1.2.0
json5                         0.9.10
jsonpatch                     1.22
jsonpointer                   2.0
jsonschema                    3.2.0
jupyter_client                7.4.1
jupyter_core                  4.11.2
jupyter-server                1.23.0
jupyterlab                    3.5.0
jupyterlab-pygments           0.2.2
jupyterlab_server             2.16.2
karma-sphinx-theme            0.0.8
keyring                       18.0.1
kiwisolver                    1.0.1
language-selector             0.1
launchpadlib                  1.10.13
lazr.restfulclient            0.14.2
lazr.uri                      1.0.3
llvmlite                      0.31.0
macaroonbakery                1.3.1
markdown-it-py                2.1.0
MarkupSafe                    2.1.1
matplotlib                    3.4.2
matplotlib-inline             0.1.6
mdit-py-plugins               0.3.1
mdurl                         0.1.2
mistune                       2.0.4
more-itertools                4.2.0
mpi                           1.0.0
mpi4py                        3.1.3
mpmath                        1.1.0
mshr                          2019.2.0.dev0
multidict                     6.0.3
myst-parser                   0.18.1
nbclassic                     0.4.8
nbclient                      0.7.0
nbconvert                     7.2.3
nbformat                      5.7.0
nest-asyncio                  1.5.6
netifaces                     0.10.4
notebook                      6.5.2
notebook_shim                 0.2.2
numba                         0.48.0
numpy                         1.22.4
oauthlib                      3.1.0
olefile                       0.46
packaging                     21.3
pandas                        1.5.2
pandocfilters                 1.5.0
parso                         0.8.3
petsc4py                      3.12.0
petsc4py                      3.12.0
pexpect                       4.6.0
pickleshare                   0.7.5
Pillow                        9.3.0
pip                           22.3.1
pkgconfig                     1.5.1
ply                           3.11
pooch                         1.6.0
prometheus-client             0.15.0
prompt-toolkit                3.0.32
protobuf                      3.6.1
psutil                        5.9.4
ptyprocess                    0.7.0
pugixml                       0.4.0
pure-eval                     0.2.2
pyarrow                       10.0.1
pyasn1                        0.4.2
pyasn1-modules                0.2.1
pybind11                      2.9.2
pycairo                       1.16.2
pycodestyle                   2.5.0
pycparser                     2.21
pycups                        1.9.73
pydocstyle                    2.1.1
Pygments                      2.13.0
PyGObject                     3.36.0
PyHamcrest                    1.9.0
pyinstaller                   4.3
pyinstaller-hooks-contrib     2021.1
PyJWT                         1.7.1
pymacaroons                   0.13.0
PyNaCl                        1.3.0
pyOpenSSL                     19.0.0
pyparsing                     2.4.6
PyQt5                         5.15.4
pyqt5-plugins                 5.15.4.2.2
PyQt5-Qt5                     5.15.2
PyQt5-sip                     12.11.0
pyqt5-tools                   5.15.4.3.2
PyQtWebEngine                 5.15.6
PyQtWebEngine-Qt5             5.15.2
pyRFC3339                     1.1
pyrsistent                    0.15.5
pyserial                      3.4
PySide2                       5.15.2.1
python-apt                    2.0.0+ubuntu0.20.4.8
python-dateutil               2.8.2
python-debian                 0.1.36ubuntu1
python-dotenv                 0.21.0
pytz                          2021.1
pyvista                       0.37.0
PyYAML                        5.3.1
pyzmq                         24.0.1
qt5-applications              5.15.2.2.2
qt5-tools                     5.15.2.1.2
requests                      2.22.0
requests-unixsocket           0.2.0
roman                         2.0.0
scikit-learn                  1.2.0
scipy                         1.7.1
scooby                        0.7.0
SecretStorage                 2.3.1
Send2Trash                    1.8.0
service-identity              18.1.0
setuptools                    45.2.0
shiboken2                     5.15.2.1
simplejson                    3.16.0
sip                           4.19.21
six                           1.14.0
slepc4py                      3.12.0
slepc4py                      3.12.0
sniffio                       1.3.0
snowballstemmer               2.0.0
sos                           4.4
soupsieve                     2.3.2.post1
Sphinx                        5.3.0
sphinx-basic-ng               1.0.0b1
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        2.0.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.5
sqlparse                      0.4.1
ssh-import-id                 5.10
stack-data                    0.6.0
sympy                         1.5.1
systemd-python                234
terminado                     0.17.0
threadpoolctl                 3.1.0
tinycss2                      1.2.1
tomli                         2.0.1
tornado                       6.2
tqdm                          4.30.0
traitlets                     5.5.0
Twisted                       18.9.0
typing_extensions             4.4.0
ubuntu-advantage-tools        27.12
UFL                           2017.1.0
ufw                           0.36
unattended-upgrades           0.1
urllib3                       1.25.8
voila                         0.4.0
vtk                           9.2.2
wadllib                       1.3.3
wcwidth                       0.1.8
webencodings                  0.5.1
websocket-client              1.4.2
websockets                    10.4
wheel                         0.34.2
wslink                        1.9.2
yarl                          1.8.2
zipp                          1.0.0
zope.interface                4.7.1

As you can see here, you have installed the 0.4.X version of ffcx and dolfinx and the 0.5.X version of Basix. These are not compatible.
Also note that you should upgrade your ufl installation

Thank you! It changed, but I keep getting errors when I try to run some example:

pyvista and pyvistaqt are required to visualise the solution
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
[0]PETSC ERROR: or see https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind
[0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors
[0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
[0]PETSC ERROR: to get more information on the crash.
corrupted size vs. prev_size
[Clarke:02765] *** Process received signal ***
[Clarke:02765] Signal: Aborted (6)
[Clarke:02765] Signal code:  (-6)
[Clarke:02765] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f313e275090]
[Clarke:02765] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f313e27500b]
[Clarke:02765] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f313e254859]
[Clarke:02765] [ 3] /lib/x86_64-linux-gnu/libc.so.6(+0x8d26e)[0x7f313e2bf26e]
[Clarke:02765] [ 4] /lib/x86_64-linux-gnu/libc.so.6(+0x952fc)[0x7f313e2c72fc]
[Clarke:02765] [ 5] /lib/x86_64-linux-gnu/libc.so.6(+0x9596b)[0x7f313e2c796b]
[Clarke:02765] [ 6] /lib/x86_64-linux-gnu/libc.so.6(+0x95aaf)[0x7f313e2c7aaf]
[Clarke:02765] [ 7] /lib/x86_64-linux-gnu/libc.so.6(+0x97c83)[0x7f313e2c9c83]
[Clarke:02765] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x1b9)[0x7f313e2cc299]
[Clarke:02765] [ 9] /lib/x86_64-linux-gnu/libopen-pal.so.40(opal_show_help_yy_create_buffer+0x39)[0x7f3132ceb219]
[Clarke:02765] [10] /lib/x86_64-linux-gnu/libopen-pal.so.40(opal_show_help_init_buffer+0x12)[0x7f3132ceca32]
[Clarke:02765] [11] /lib/x86_64-linux-gnu/libopen-pal.so.40(opal_show_help_vstring+0x1a3)[0x7f3132ceaa73]
[Clarke:02765] [12] /lib/x86_64-linux-gnu/libopen-rte.so.40(orte_show_help+0xe3)[0x7f3135051413]
[Clarke:02765] [13] /lib/x86_64-linux-gnu/libmpi.so.40(MPI_Abort+0x70)[0x7f3137a62dd0]
[Clarke:02765] [14] /lib/x86_64-linux-gnu/libpetsc_real.so.3.12(PetscSignalHandlerDefault+0x1e2)[0x7f311e38b4f2]
[Clarke:02765] [15] /lib/x86_64-linux-gnu/libpetsc_real.so.3.12(+0x12c577)[0x7f311e38b577]
[Clarke:02765] [16] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f313e275090]
[Clarke:02765] [17] /home/krizerator/.local/lib/python3.8/site-packages/basix/_basixcpp.cpython-38-x86_64-linux-gnu.so(+0x2eb1b)[0x7f311d43cb1b]
[Clarke:02765] [18] /home/krizerator/.local/lib/python3.8/site-packages/basix/_basixcpp.cpython-38-x86_64-linux-gnu.so(+0x3f63d)[0x7f311d44d63d]
[Clarke:02765] [19] /home/krizerator/.local/lib/python3.8/site-packages/basix/_basixcpp.cpython-38-x86_64-linux-gnu.so(+0x43eb8)[0x7f311d451eb8]
[Clarke:02765] *** End of error message ***
Aborted

Could you try running the basix tests?
It seems like you are using avery old version of PETSc (3.12).

Dolifnx uses petsc 3.15 as minimum:

Could you post the output of building DOLFINx in C++, and the output of echo $PETSC_DIR echo $PETSC_ARCH, as well as python3 -c "import petsc4py; print(petsc4py.__version__)"

As you can see here, your petsc4py is out of date

Now I updated to version 3.18.2.

I’m not sure how to get these ‘tests’ and the ‘building in C++’. But the other commands’ outputs (PETSC DIR and ARCH) are empty.

When you call cmake ../ in the DOLFINx folder, what is your output (similar to what you posted above).
To get the basix tests, go into the basix repository, then /python/test

This is the output I get:

-- Found Boost 1.71.0 at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
--   Requested configuration: QUIET REQUIRED COMPONENTS timer
-- Found boost_headers 1.71.0 at /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
-- Found boost_timer 1.71.0 at /usr/lib/x86_64-linux-gnu/cmake/boost_timer-1.71.0
--   [x] libboost_timer.so.1.71.0
--   [ ] libboost_timer.a
-- Adding boost_timer dependencies: chrono;headers
-- Found boost_chrono 1.71.0 at /usr/lib/x86_64-linux-gnu/cmake/boost_chrono-1.71.0
--   [x] libboost_chrono.so.1.71.0
--   [ ] libboost_chrono.a
-- Adding boost_chrono dependencies: headers
-- Adding /home/krizerator/.local/lib/python3.8/site-packages/basix to Basix search hints
-- Checking for one of the modules 'PETSc>=3.15;petsc>=3.15'
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:707 (message):
  None of the required 'PETSc>=3.15;petsc>=3.15' found
Call Stack (most recent call first):
  CMakeLists.txt:162 (pkg_search_module)


-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- HDF5_DIR: HDF5_DIR-NOTFOUND
-- HDF5_DEFINITIONS:
-- HDF5_INCLUDE_DIRS: /usr/include/hdf5/openmpi
-- HDF5_LIBRARIES: /usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- HDF5_HL_LIBRARIES:
-- HDF5_C_DEFINITIONS:
-- HDF5_C_INCLUDE_DIR:
-- HDF5_C_INCLUDE_DIRS: /usr/include/hdf5/openmpi
-- HDF5_C_LIBRARY:
-- HDF5_C_LIBRARIES: /usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- HDF5_C_HL_LIBRARY:
-- HDF5_C_HL_LIBRARIES:
-- Asking Python module FFCx for location of UFC... (Python executable: /usr/bin/python3.8)
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find UFCx: Found unsuitable version "0.5.0.post0", but required
  is at least "0.6" (found
  /usr/lib/python3/dist-packages/ffcx/codegeneration)

      Reason given by package: UFCx could not be found.

Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:391 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindUFCx.cmake:63 (find_package_handle_standard_args)
  CMakeLists.txt:199 (find_package)


-- Configuring incomplete, errors occurred!
See also "/mnt/d/A--X/FEniCSx/dolfinx/cpp/build/CMakeFiles/CMakeOutput.log".

Now about this,

This is what I get when I run pytest at the end:

=============================================== short test summary info ================================================
FAILED test/test_custom_element.py::test_lagrange_custom_triangle_degree1 - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_lagrange_custom_triangle_degree1_l2piola - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_lagrange_custom_triangle_degree4 - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_lagrange_custom_quadrilateral_degree1 - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_raviart_thomas_triangle_degree1 - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_create_lagrange1_quad - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wcoeffs_wrong_shape - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wcoeffs_too_few_cols - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wcoeffs_too_few_rows - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wcoeffs_zero_row - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wcoeffs_equal_rows - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_x_wrong_tdim - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_x_wrong_ndims - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_x_too_many_points - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_x_point_tdim_too_high - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_x_wrong_entity_count - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_wrong_value_size - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_wrong_ndims - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_too_many_points - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_wrong_entities - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_too_many_derivs - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_M_zero_row - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wrong_value_shape - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wrong_cell_type - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wrong_degree - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wrong_discontinuous - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_custom_element.py::test_wrong_interpolation_nderivs - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_equality.py::test_custom_element_equality - AttributeError: module 'basix' has no attribute 'SobolevSpace'
FAILED test/test_ufl_wrapper.py::test_tensor_element_hash[inputs0] - assert -8967915061006352716 != -8967915061006352716
FAILED test/test_ufl_wrapper.py::test_tensor_element_hash[inputs1] - assert -8967915061006352716 != -8967915061006352716
FAILED test/test_ufl_wrapper.py::test_tensor_element_hash[inputs2] - assert -8967915061006352716 != -8967915061006352716
FAILED test/test_ufl_wrapper.py::test_tensor_element_hash[inputs3] - assert -8967915061006352716 != -8967915061006352716
========================= 32 failed, 8180 passed, 292 skipped, 9 xfailed in 166.39s (0:02:46) ==========================