Well, the title is the message error. Basically I have dolfin-x 0.3.0 installed (it is the one that comes with debian testing right now as far as I know), and I was looking into the documentation for this version for the poisson example:
I didn’t managed to replicate it as the command V = FunctionSpace(mesh, ("Lagrange", 1))
fails giving the next error message:
---------------------------------------------------------------------------
FileExistsError Traceback (most recent call last)
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in get_cached_module(module_name, object_names, cache_dir, timeout)
61 # Create C file with exclusive access
---> 62 open(c_filename, "x")
63 return None, None
FileExistsError: [Errno 17] File exists: '/home/manuel/.cache/fenics/libffcx_elements_0ba90af30174bac8aa16375eb5840f3f5018d54c.c'
During handling of the above exception, another exception occurred:
ModuleNotFoundError Traceback (most recent call last)
/tmp/ipykernel_469262/3084727201.py in <module>
5 CellType.triangle, dolfinx.cpp.mesh.GhostMode.none)
6
----> 7 V = FunctionSpace(mesh, ("Lagrange", 1))
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/fem/function.py in __init__(self, mesh, element, cppV, form_compiler_parameters, jit_parameters)
383
384 # Compile dofmap and element and create DOLFIN objects
--> 385 (self._ufc_element, self._ufc_dofmap), module, code = jit.ffcx_jit(
386 mesh.mpi_comm(), self.ufl_element(), form_compiler_parameters=form_compiler_parameters,
387 jit_parameters=jit_parameters)
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py in mpi_jit(comm, *args, **kwargs)
60 # Just call JIT compiler when running in serial
61 if comm.size == 1:
---> 62 return local_jit(*args, **kwargs)
63
64 # Default status (0 == ok, 1 == fail)
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py in ffcx_jit(ufl_object, form_compiler_parameters, jit_parameters)
216 r = ffcx.codegeneration.jit.compile_forms([ufl_object], parameters=p_ffcx, **p_jit)
217 elif isinstance(ufl_object, ufl.FiniteElementBase):
--> 218 r = ffcx.codegeneration.jit.compile_elements([ufl_object], parameters=p_ffcx, **p_jit)
219 elif isinstance(ufl_object, ufl.Mesh):
220 r = ffcx.codegeneration.jit.compile_coordinate_maps(
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in compile_elements(elements, parameters, cache_dir, timeout, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries)
105 if cache_dir is not None:
106 cache_dir = Path(cache_dir)
--> 107 obj, mod = get_cached_module(module_name, names, cache_dir, timeout)
108 if obj is not None:
109 # Pair up elements with dofmaps
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in get_cached_module(module_name, object_names, cache_dir, timeout)
73 spec = finder.find_spec(module_name)
74 if spec is None:
---> 75 raise ModuleNotFoundError("Unable to find JIT module.")
76 compiled_module = importlib.util.module_from_spec(spec)
77 spec.loader.exec_module(compiled_module)
ModuleNotFoundError: Unable to find JIT module.
I don’t seem to find many people with this problem.
PS: I would like to add that the poisson example with dolfin (not the dolfin-x) seems to work properly. So for some reason I don’t understand dolfin finds the JIT but dolfin-x does not.