I am completely new to FEnics. I am trying to run notebooks available in the documentation section. I keep running into the same error when it comes to compiling fem.functionspace with dolfinx0.8.0
V = fem.functionspace(domain, ("Lagrange", 2, (domain.geometry.dim, )))
The error is as follows
In file included from libffcx_elements_accbcf8c020d45b2cf553991d906c6f33b8b92e9.c:50:
/usr/include/python3.10/pyconfig.h:3:12: fatal error: x86_64-linux-gnu/python3.10/pyconfig.h: No such file or directory
3 | # include <x86_64-linux-gnu/python3.10/pyconfig.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
---------------------------------------------------------------------------
DistutilsExecError Traceback (most recent call last)
/usr/lib/python3.10/distutils/unixccompiler.py in _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
116 try:
--> 117 self.spawn(compiler_so + cc_args + [src, '-o', obj] +
118 extra_postargs)
/usr/lib/python3.10/distutils/ccompiler.py in spawn(self, cmd)
909 def spawn(self, cmd):
--> 910 spawn(cmd, dry_run=self.dry_run)
911
/usr/lib/python3.10/distutils/spawn.py in spawn(cmd, search_path, verbose, dry_run)
90 cmd = cmd[0]
---> 91 raise DistutilsExecError(
92 "command %r failed with exit code %s" % (cmd, exitcode))
DistutilsExecError: command '/home/sanhitauser/anaconda3/envs/fenicsx-env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1
During handling of the above exception, another exception occurred:
CompileError Traceback (most recent call last)
/usr/lib/python3/dist-packages/cffi/ffiplatform.py in _build(tmpdir, ext, compiler_verbose, debug)
50 distutils.log.set_verbosity(compiler_verbose)
---> 51 dist.run_command('build_ext')
52 cmd_obj = dist.get_command_obj('build_ext')
/usr/lib/python3.10/distutils/dist.py in run_command(self, command)
984 cmd_obj.ensure_finalized()
--> 985 cmd_obj.run()
986 self.have_run[command] = 1
/usr/lib/python3.10/distutils/command/build_ext.py in run(self)
339 # Now actually compile and link everything.
--> 340 self.build_extensions()
341
/usr/lib/python3.10/distutils/command/build_ext.py in build_extensions(self)
448 else:
--> 449 self._build_extensions_serial()
450
/usr/lib/python3.10/distutils/command/build_ext.py in _build_extensions_serial(self)
473 with self._filter_build_errors(ext):
--> 474 self.build_extension(ext)
475
/usr/lib/python3.10/distutils/command/build_ext.py in build_extension(self, ext)
528
--> 529 objects = self.compiler.compile(sources,
530 output_dir=self.build_temp,
/usr/lib/python3.10/distutils/ccompiler.py in compile(self, sources, output_dir, macros, include_dirs, debug, extra_preargs, extra_postargs, depends)
573 continue
--> 574 self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
575
/usr/lib/python3.10/distutils/unixccompiler.py in _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
119 except DistutilsExecError as msg:
--> 120 raise CompileError(msg)
121
CompileError: command '/home/sanhitauser/anaconda3/envs/fenicsx-env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1
During handling of the above exception, another exception occurred:
VerificationError Traceback (most recent call last)
/tmp/ipykernel_1071/2796255439.py in <module>
10 L = 20.0
11 domain = mesh.create_box(MPI.COMM_WORLD, [[0.0, 0.0, 0.0], [L, 1, 1]], [20, 5, 5], mesh.CellType.hexahedron)
---> 12 V = fem.functionspace(domain, ("Lagrange", 2, (domain.geometry.dim, )))
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/fem/function.py in functionspace(mesh, element, form_compiler_options, jit_options)
653 form_compiler_options = dict()
654 form_compiler_options["scalar_type"] = dtype
--> 655 (ufcx_element, ufcx_dofmap), module, code = jit.ffcx_jit(
656 mesh.comm,
657 ufl_e,
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py in mpi_jit(comm, *args, **kwargs)
49 # Just call JIT compiler when running in serial
50 if comm.size == 1:
---> 51 return local_jit(*args, **kwargs)
52
53 # Default status (0 == ok, 1 == fail)
/usr/lib/petsc/lib/python3/dist-packages/dolfinx/jit.py in ffcx_jit(ufl_object, form_compiler_options, jit_options)
201 r = ffcx.codegeneration.jit.compile_forms([ufl_object], options=p_ffcx, **p_jit)
202 elif isinstance(ufl_object, ufl.AbstractFiniteElement):
--> 203 r = ffcx.codegeneration.jit.compile_elements([ufl_object], options=p_ffcx, **p_jit)
204 elif isinstance(ufl_object, ufl.Mesh):
205 r = ffcx.codegeneration.jit.compile_coordinate_maps([ufl_object], options=p_ffcx, **p_jit)
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in compile_elements(elements, options, cache_dir, timeout, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries, visualise)
203 except Exception:
204 pass
--> 205 raise e
206
207 objects, module = _load_objects(cache_dir, module_name, names)
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in compile_elements(elements, options, cache_dir, timeout, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries, visualise)
183 decl += dofmap_template.format(name=names[i * 2 + 1])
184
--> 185 impl = _compile_objects(
186 decl,
187 elements,
/usr/lib/python3/dist-packages/ffcx/codegeneration/jit.py in _compile_objects(decl, ufl_objects, object_names, module_name, options, cache_dir, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries, visualise)
414 root_logger.handlers = [logging.StreamHandler(f)]
415 with redirect_stdout(f):
--> 416 ffibuilder.compile(tmpdir=cache_dir, verbose=True, debug=cffi_debug)
417 s = f.getvalue()
418 if cffi_verbose:
/usr/lib/python3/dist-packages/cffi/api.py in compile(self, tmpdir, verbose, target, debug)
723 raise ValueError("set_source() must be called before compile()")
724 module_name, source, source_extension, kwds = self._assigned_source
--> 725 return recompile(self, module_name, source, tmpdir=tmpdir,
726 target=target, source_extension=source_extension,
727 compiler_verbose=verbose, debug=debug, **kwds)
/usr/lib/python3/dist-packages/cffi/recompiler.py in recompile(ffi, module_name, preamble, tmpdir, call_c_compiler, c_file, source_extension, extradir, compiler_verbose, target, debug, **kwds)
1562 print('%s %r' % (msg, os.path.abspath(tmpdir)))
1563 os.chdir(tmpdir)
-> 1564 outputfilename = ffiplatform.compile('.', ext,
1565 compiler_verbose, debug)
1566 finally:
/usr/lib/python3/dist-packages/cffi/ffiplatform.py in compile(tmpdir, ext, compiler_verbose, debug)
20 saved_environ = os.environ.copy()
21 try:
---> 22 outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
23 outputfilename = os.path.abspath(outputfilename)
24 finally:
/usr/lib/python3/dist-packages/cffi/ffiplatform.py in _build(tmpdir, ext, compiler_verbose, debug)
56 except (distutils.errors.CompileError,
57 distutils.errors.LinkError) as e:
---> 58 raise VerificationError('%s: %s' % (e.__class__.__name__, e))
59 #
60 return soname
VerificationError: CompileError: command '/home/sanhitauser/anaconda3/envs/fenicsx-env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1