Mesa 20.3 is too old and unsupported.

If you want to build it anyway, you can change:
  for child in element.getchildren():
to:
  for child in list(element):

or use python 3.8 or older, which has getchildren().

Marek

On Wed, Mar 18, 2026 at 4:40 AM Dave Erickson
<[email protected]> wrote:
>
> Hi;
>
> I'm an autoconf guy trying meson for the first time and it seems like the 
> mesa-20.3 and mesa-extra have identical behaviour regardless of configure so 
> it is probably a configuration issue no one points out...
>
>  Totally lost I don't know meson and then I am using x84_64 Ubuntu to build 
> Vulkan only but it fails on basic meson setup build then ninja -C build 
> commands:
>
> This happened across multiple builds but the common config is DRI and Vulkan 
> only but this seems a source patch problem it fails in the XML which I have 
> no clue about...
>
> Are there directories of diff/ patches I can look up this seems a very basic 
> problem? ...
>
> Maybe someone should get rid of the " meson setup build ... ninja -C build" 
> nonsense off the introduction install page it's never worked once only 26.2.0 
> right out of the untar for all the releases I downloaded  which worked the 
> first time without this, it can't be a coincidence...
>
> Alternate problem/approach, I want to use wsl-vulkan-mesa and it was made for 
> 20.3.0 which I don't care about, would there be a way to tell wsl-vulkan-mesa 
> to use the newer 26.2.0 instead because it seems those autogenerate files 
> worked?  Which is the easier problem to get help with.
>
> Thanks
> Dave
>
> Here's the error and config :
>
> [46/2315] Generating src/mapi/glapi/gen/marshal_generated...ith a custom 
> command (wrapped by meson to capture output)
> FAILED: src/mapi/glapi/gen/marshal_generated.c
> /usr/bin/meson --internal exe --capture 
> src/mapi/glapi/gen/marshal_generated.c -- /usr/bin/python3 ../src/mapi/glapi/
> gen/gl_marshal.py -f ../src/mapi/glapi/gen/gl_and_es_API.xml
> --- stderr ---
> Traceback (most recent call last):
>  File 
> "/home/dave/src/external-mesa/build/../src/mapi/glapi/gen/gl_marshal.py", 
> line 365, in <module>
>    api = gl_XML.parse_GL_API(file_name, marshal_XML.marshal_item_factory())
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 44, 
> in parse_GL_API
>    api.parse_file( file_name )
>    ~~~~~~~~~~~~~~^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 858, 
> in parse_file
>    self.process_element(file_name, doc)
>    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 864, 
> in process_element
>    self.process_OpenGLAPI(file_name, element)
>    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 869, 
> in process_OpenGLAPI
>    for child in element.getchildren():
>                 ^^^^^^^^^^^^^^^^^^^
> AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 
> 'getchildren'
>
>
>
>
> Message: Configuration summary:
>
>        prefix:          /usr/local
>        libdir:          lib/x86_64-linux-gnu
>        includedir:      include
>
>        OpenGL:          yes (ES1: yes ES2: yes)
>        OSMesa:          no
>
>        DRI platform:    drm
>        DRI drivers:     i915 i965 r100 r200 nouveau
>        DRI driver dir:  /usr/local/lib/x86_64-linux-gnu/dri
>
>        GLX:             DRI-based
>
>        EGL:             yes
>        EGL drivers:     builtin:egl_dri2 builtin:egl_dri3
>        GBM:             yes
>        EGL/Vulkan/VL platforms:   x11 wayland drm surfaceless
>
>        Vulkan drivers:  amd intel
>        Vulkan ICD dir:  share/vulkan/icd.d
>
>        llvm:            yes
>        llvm-version:    20.1.2
>
>        Gallium drivers: r300 r600 radeonsi nouveau virgl svga swrast
>        Gallium st:      mesa xa vdpau va
>        HUD lmsensors:   yes
>
>        Shared-glapi:    yes
>
> Build targets in project: 218
> WARNING: Project specifies a minimum meson_version '>= 0.46' but uses 
> features which were added in newer versions:
> * 0.50.0: {'Python module path method'}
> NOTICE: Future-deprecated features used:
> * 0.47.0: {'build_always arg in custom_target'}
> * 0.55.0: {'ExternalProgram.path'}
> * 0.56.0: {'dependency.get_pkgconfig_variable', 'meson.source_root'}
>
> Found ninja-1.12.1 at /usr/bin/ninja
> dave@dave-precisiontower7910:~/src/external-mesa$ ninja -C build
> ninja: Entering directory `build'
> [6/2315] Generating src/util/xmlpool/xmlpool_options.h with a custom command
> Warning: language 'ca' not found.
> Warning: language 'es' not found.
> Warning: language 'de' not found.
> Warning: language 'nl' not found.
> Warning: language 'sv' not found.
> Warning: language 'fr' not found.
> [31/2315] Compiling C object src/util/libmesa_util.a.p/u_cpu_detect.c.o
> ../src/util/u_cpu_detect.c: In function ‘util_cpu_detect_once’:
> ../src/util/u_cpu_detect.c:544:11: warning: ‘((unsigned int*)&regs2)[2]’ may 
> be used uninitialized [-Wmaybe-uninitial
> ized]
>  544 |       if (((regs2[2] >> 27) & 1) && // OSXSAVE
>      |           ^~~~~~~~~~~~~~~~~~~~~~
> ../src/util/u_cpu_detect.c:493:16: note: ‘((unsigned int*)&regs2)[2]’ was 
> declared here
>  493 |       uint32_t regs2[4];
>      |                ^~~~~
> [38/2315] Generating src/compiler/glsl/glcpp/glcpp-parse.[ch] with a custom 
> command
> ../src/compiler/glsl/glcpp/glcpp-parse.y:157.1-12: warning: deprecated 
> directive: ‘%pure-parser’, use ‘%define api.pu
> re’ [-Wdeprecated]
>  157 | %pure-parser
>      | ^~~~~~~~~~~~
>      | %define api.pure
> ../src/compiler/glsl/glcpp/glcpp-parse.y:158.1-14: warning: deprecated 
> directive: ‘%error-verbose’, use ‘%define pars
> e.error verbose’ [-Wdeprecated]
>  158 | %error-verbose
>      | ^~~~~~~~~~~~~~
>      | %define parse.error verbose
> ../src/compiler/glsl/glcpp/glcpp-parse.y: warning: fix-its can be applied.  
> Rerun with option '--update'. [-Wother]
> [46/2315] Generating src/mapi/glapi/gen/marshal_generated...ith a custom 
> command (wrapped by meson to capture output)
> FAILED: src/mapi/glapi/gen/marshal_generated.c
>
> --- stderr ---
> Traceback (most recent call last):
>  File 
> "/home/dave/src/external-mesa/build/../src/mapi/glapi/gen/gl_marshal.py", 
> line 365, in <module>
>    api = gl_XML.parse_GL_API(file_name, marshal_XML.marshal_item_factory())
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 44, 
> in parse_GL_API
>    api.parse_file( file_name )
>    ~~~~~~~~~~~~~~^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 858, 
> in parse_file
>    self.process_element(file_name, doc)
>    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 864, 
> in process_element
>    self.process_OpenGLAPI(file_name, element)
>    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
>  File "/home/dave/src/external-mesa/src/mapi/glapi/gen/gl_XML.py", line 869, 
> in process_OpenGLAPI
>    for child in element.getchildren():
>                 ^^^^^^^^^^^^^^^^^^^
> AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 
> 'getchildren'
>
>

Reply via email to