Ufl expression cannot be compiled in fenicsx tutorial

Hello,
I am trying to run the following tutorial : Deflection of a Membrane ; but it throws a compilation error at jit level. I think it cannot compile the ufl expression that defines the “LinearProblem”. The instruction at which it throws the exception is:

problem = LinearProblem(a, L, bcs=[bc], petsc_options={“ksp_type”: “preonly”, “pc_type”: “lu”})


In file included from libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:586:0:
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:287:23](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=286): error: expected ‘;’, ‘,’ or ‘)’ before ‘A’
       float* restrict A, const float* restrict w,
                       ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:297:24](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=296): error: expected ‘;’, ‘,’ or ‘)’ before ‘A’
       double* restrict A, const double* restrict w,
                        ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:307:32](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=306): error: expected ‘;’, ‘,’ or ‘)’ before ‘A’
       float _Complex* restrict A, const float _Complex* restrict w,
                                ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:317:33](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=316): error: expected ‘;’, ‘,’ or ‘)’ before ‘A’
       double _Complex* restrict A, const double _Complex* restrict w,
                                 ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:325:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=324): error: unknown type name ‘ufcx_tabulate_tensor_float32’
     ufcx_tabulate_tensor_float32* tabulate_tensor_float32;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:326:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=325): error: unknown type name ‘ufcx_tabulate_tensor_float64’
     ufcx_tabulate_tensor_float64* tabulate_tensor_float64;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:327:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=326): error: unknown type name ‘ufcx_tabulate_tensor_complex64’
     ufcx_tabulate_tensor_complex64* tabulate_tensor_complex64;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:328:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=327): error: unknown type name ‘ufcx_tabulate_tensor_complex128’
     ufcx_tabulate_tensor_complex128* tabulate_tensor_complex128;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:344:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=343): error: unknown type name ‘ufcx_tabulate_tensor_float32’
     ufcx_tabulate_tensor_float32* tabulate_tensor_float32;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:345:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=344): error: unknown type name ‘ufcx_tabulate_tensor_float64’
     ufcx_tabulate_tensor_float64* tabulate_tensor_float64;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:346:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=345): error: unknown type name ‘ufcx_tabulate_tensor_complex64’
     ufcx_tabulate_tensor_complex64* tabulate_tensor_complex64;
     ^
[/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h:347:5](http://localhost:52225/truba/home/igurcan/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/ufcx.h#line=346): error: unknown type name ‘ufcx_tabulate_tensor_complex128’
     ufcx_tabulate_tensor_complex128* tabulate_tensor_complex128;
     ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:775:89: error: expected ‘;’, ‘,’ or ‘)’ before ‘A’
 void tabulate_tensor_integral_a2e12337731339d4d0174b7c4959a0fdc321393a(double* restrict A,
                                                                                         ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:891:30: error: ‘tabulate_tensor_integral_a2e12337731339d4d0174b7c4959a0fdc321393a’ undeclared here (not in a function)
   .tabulate_tensor_float64 = tabulate_tensor_integral_a2e12337731339d4d0174b7c4959a0fdc321393a,
                              ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c: In function ‘_cffi_checkfld__ufcx_integral’:
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:1225:104: warning: initialization from incompatible pointer type [enabled by default]
   { void(* *tmp)(float *, float const *, float const *, float const *, int const *, uint8_t const *) = &p->tabulate_tensor_float32; (void)tmp; }
                                                                                                        ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:1226:108: warning: initialization from incompatible pointer type [enabled by default]
   { void(* *tmp)(double *, double const *, double const *, double const *, int const *, uint8_t const *) = &p->tabulate_tensor_float64; (void)tmp; }
                                                                                                            ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:1227:131: warning: initialization from incompatible pointer type [enabled by default]
   { void(* *tmp)(float _Complex *, float _Complex const *, float _Complex const *, float const *, int const *, uint8_t const *) = &p->tabulate_tensor_complex64; (void)tmp; }
                                                                                                                                   ^
libffcx_forms_4496a4745a0030841e01354f4d867a8c1577d00c.c:1228:135: warning: initialization from incompatible pointer type [enabled by default]
   { void(* *tmp)(double _Complex *, double _Complex const *, double _Complex const *, double const *, int const *, uint8_t const *) = &p->tabulate_tensor_complex128; (void)tmp; }
                                                                                                                                       ^
---------------------------------------------------------------------------
DistutilsExecError                        Traceback (most recent call last)
File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py:188](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py#line=187), in UnixCCompiler._compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
    187 try:
--> 188     self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
    189 except DistutilsExecError as msg:

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py:1041](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py#line=1040), in CCompiler.spawn(self, cmd, **kwargs)
   1040 def spawn(self, cmd, **kwargs):
-> 1041     spawn(cmd, dry_run=self.dry_run, **kwargs)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/spawn.py:68](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/spawn.py#line=67), in spawn(cmd, search_path, verbose, dry_run, env)
     67     cmd = cmd[0]
---> 68 raise DistutilsExecError(f"command {cmd!r} failed with exit code {exitcode}")

DistutilsExecError: command '[/usr/bin/gcc](http://localhost:52225/usr/bin/gcc)' failed with exit code 1

During handling of the above exception, another exception occurred:

CompileError                              Traceback (most recent call last)
File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py:48](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py#line=47), in _build(tmpdir, ext, compiler_verbose, debug)
     47 set_verbosity(compiler_verbose)
---> 48 dist.run_command('build_ext')
     49 cmd_obj = dist.get_command_obj('build_ext')

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/dist.py:968](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/dist.py#line=967), in Distribution.run_command(self, command)
    965 # Postpone defaults until all explicit configuration is considered
    966 # (setup() args, config files, command line and plugins)
--> 968 super().run_command(command)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/dist.py:988](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/dist.py#line=987), in Distribution.run_command(self, command)
    987 cmd_obj.ensure_finalized()
--> 988 cmd_obj.run()
    989 self.have_run[command] = 1

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/command/build_ext.py:91](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/command/build_ext.py#line=90), in build_ext.run(self)
     90 old_inplace, self.inplace = self.inplace, 0
---> 91 _build_ext.run(self)
     92 self.inplace = old_inplace

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:359](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py#line=358), in build_ext.run(self)
    358 # Now actually compile and link everything.
--> 359 self.build_extensions()

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:479](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py#line=478), in build_ext.build_extensions(self)
    478 else:
--> 479     self._build_extensions_serial()

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:505](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py#line=504), in build_ext._build_extensions_serial(self)
    504 with self._filter_build_errors(ext):
--> 505     self.build_extension(ext)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/command/build_ext.py:252](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/command/build_ext.py#line=251), in build_ext.build_extension(self, ext)
    251     self.compiler = self.shlib_compiler
--> 252 _build_ext.build_extension(self, ext)
    253 if ext._needs_stub:

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:560](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py#line=559), in build_ext.build_extension(self, ext)
    558     macros.append((undef,))
--> 560 objects = self.compiler.compile(
    561     sources,
    562     output_dir=self.build_temp,
    563     macros=macros,
    564     include_dirs=ext.include_dirs,
    565     debug=self.debug,
    566     extra_postargs=extra_args,
    567     depends=ext.depends,
    568 )
    570 # XXX outdated variable, kept here in case third-part code
    571 # needs it.

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py:600](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py#line=599), in CCompiler.compile(self, sources, output_dir, macros, include_dirs, debug, extra_preargs, extra_postargs, depends)
    599         continue
--> 600     self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
    602 # Return *all* object filenames, not just the ones we just built.

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py:190](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py#line=189), in UnixCCompiler._compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
    189 except DistutilsExecError as msg:
--> 190     raise CompileError(msg)

CompileError: command '[/usr/bin/gcc](http://localhost:52225/usr/bin/gcc)' failed with exit code 1

During handling of the above exception, another exception occurred:

VerificationError                         Traceback (most recent call last)
Cell In[1], line 116
    114 A = ufl.dot(ufl.grad(u), ufl.grad(v)) * ufl.dx
    115 b = p * v * ufl.dx
--> 116 problem = LinearProblem(
    117     A, 
    118     b, 
    119     bcs=[bc], 
    120     petsc_options={"ksp_type": "preonly", "pc_type": "lu"}
    121 )
    122 uh = problem.solve()
    123 # # ############################################################# #
    124 # # Step#6-We want to display a smoother function for pressure 'p'
    125 # # and hence, we interpolate it into a higher degree function
   (...)
    153 # )
    154 # plotter.show()

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/petsc.py:762](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/petsc.py#line=761), in LinearProblem.__init__(self, a, L, bcs, u, petsc_options, form_compiler_options, jit_options)
    724 def __init__(
    725     self,
    726     a: ufl.Form,
   (...)
    732     jit_options: typing.Optional[dict] = None,
    733 ):
    734     """Initialize solver for a linear variational problem.
    735 
    736     Args:
   (...)
    760                                                                    "mumps"})
    761     """
--> 762     self._a = _create_form(
    763         a, form_compiler_options=form_compiler_options, jit_options=jit_options
    764     )
    765     self._A = create_matrix(self._a)
    766     self._L = _create_form(
    767         L, form_compiler_options=form_compiler_options, jit_options=jit_options
    768     )

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py:249](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py#line=248), in form(form, dtype, form_compiler_options, jit_options, entity_maps)
    246         return list(map(lambda sub_form: _create_form(sub_form), form))
    247     return form
--> 249 return _create_form(form)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py:244](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py#line=243), in form.<locals>._create_form(form)
    241 """Recursively convert ufl.Forms to dolfinx.fem.Form, otherwise
    242 return form argument"""
    243 if isinstance(form, ufl.Form):
--> 244     return _form(form)
    245 elif isinstance(form, collections.abc.Iterable):
    246     return list(map(lambda sub_form: _create_form(sub_form), form))

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py:186](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/fem/forms.py#line=185), in form.<locals>._form(form)
    184 if mesh is None:
    185     raise RuntimeError("Expecting to find a Mesh in the form.")
--> 186 ufcx_form, module, code = jit.ffcx_jit(
    187     mesh.comm, form, form_compiler_options=form_compiler_options, jit_options=jit_options
    188 )
    190 # For each argument in form extract its function space
    191 V = [arg.ufl_function_space()._cpp_object for arg in form.arguments()]

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/jit.py:51](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/jit.py#line=50), in mpi_jit_decorator.<locals>.mpi_jit(comm, *args, **kwargs)
     47 @functools.wraps(local_jit)
     48 def 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)
     53     # Default status (0 == ok, 1 == fail)
     54     status = 0

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/jit.py:201](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/dolfinx/jit.py#line=200), in ffcx_jit(ufl_object, form_compiler_options, jit_options)
    199 # Switch on type and compile, returning cffi object
    200 if isinstance(ufl_object, ufl.Form):
--> 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)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py:276](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py#line=275), in compile_forms(forms, options, cache_dir, timeout, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries, visualise)
    274     except Exception:
    275         pass
--> 276     raise e
    278 obj, module = _load_objects(cache_dir, module_name, form_names)
    279 return obj, module, (decl, impl)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py:256](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py#line=255), in compile_forms(forms, options, cache_dir, timeout, cffi_extra_compile_args, cffi_verbose, cffi_debug, cffi_libraries, visualise)
    253     for name in form_names:
    254         decl += form_template.format(name=name)
--> 256     impl = _compile_objects(
    257         decl,
    258         forms,
    259         form_names,
    260         module_name,
    261         p,
    262         cache_dir,
    263         cffi_extra_compile_args,
    264         cffi_verbose,
    265         cffi_debug,
    266         cffi_libraries,
    267         visualise=visualise,
    268     )
    269 except Exception as e:
    270     try:
    271         # remove c file so that it will not timeout next time

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py:416](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/ffcx/codegeneration/jit.py#line=415), 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:

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/api.py:725](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/api.py#line=724), in FFI.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)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/recompiler.py:1564](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/recompiler.py#line=1563), 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:
   1567     os.chdir(cwd)

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py:20](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py#line=19), in compile(tmpdir, ext, compiler_verbose, debug)
     18 saved_environ = os.environ.copy()
     19 try:
---> 20     outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
     21     outputfilename = os.path.abspath(outputfilename)
     22 finally:
     23     # workaround for a distutils bugs where some env vars can
     24     # become longer and longer every time it is used

File [~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py:54](http://localhost:52225/lab/tree/~/miniconda3/envs/fenicsx-env/lib/python3.12/site-packages/cffi/ffiplatform.py#line=53), in _build(tmpdir, ext, compiler_verbose, debug)
     52         set_threshold(old_level)
     53 except (CompileError, LinkError) as e:
---> 54     raise VerificationError('%s: %s' % (e.__class__.__name__, e))
     55 #
     56 return soname

VerificationError: CompileError: command '[/usr/bin/gcc](http://localhost:52225/usr/bin/gcc)' failed with exit code 1

OS : CentOS 7.3.1611
Dolfinx version : 0.8.0
ufl version : 2024.1.0
petsc4py : 3.21.2

Any idea about what could cause the problem?

Also opened at https://github.com/FEniCS/ffcx/issues/707.

In future, please do not write the same post here and on github, unless explicitly told to open a bug report. The people who answer here are the same who answer on github, and the duplication is unnecessary, and it doesn’t give you any better chance of getting an answer.

I see what you mean. Thanks for the info. My intention was different than what you say. I thought this is place is for users who had experienced similar issues; while github is for developers to be notified of bugs. Anyway. Sorry for disturbing the community.

The problem has been solved and for the audience who had the same trouble could find the answer here:
ufl expression cannot be compiled in fenicsx tutorial