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*)®s2)[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*)®s2)[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' > >
