meson
meson copied to clipboard
Windows: crash when configuring harfbuzz subproject
Describe the bug
Attempting to configure a harfbuzz subproject for Aegisub on Windows is now triggering subprojects\harfbuzz\meson.build:382:9: ERROR: Unhandled python exception, though without a corresponding error line.
To Reproduce A sample run can be found here: https://github.com/TypesettingTools/Aegisub/actions/runs/9930994529/job/27430361031 Harfbuzz is being brought in via the libass subproject.
Expected behavior Successful build.
system parameters
- Native build
- Windows Server 2022 via Github Actions
- CPython (3.12.4)
- Meson 1.5.0
It's buried further above:
Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\mesonmain.py", line 188, in run
return options.run_func(options)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\msetup.py", line 364, in run
app.generate()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\msetup.py", line 187, in generate
return self._generate(env, capture, vslite_ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\msetup.py", line 226, in _generate
intr.run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 3032, in run
super().run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 169, in run
self.evaluate_codeblock(self.ast, start=1)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 195, in evaluate_codeblock
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 187, in evaluate_codeblock
self.evaluate_statement(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 203, in evaluate_statement
self.evaluate_plusassign(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 488, in evaluate_plusassign
addition = self.evaluate_statement(node.value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 201, in evaluate_statement
return self.function_call(cur)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 528, in function_call
res = func(node, func_args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Previous line repeated 4 more times]
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 98, in wrapped
ret = f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 116, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 250, in wrapper
return f(*nargs, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 569, in wrapper
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 1809, in func_dependency
d = df.lookup(kwargs)
^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\dependencyfallbacks.py", line 354, in lookup
dep = func(kwargs, func_args, func_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\dependencyfallbacks.py", line 130, in _do_subproject
self.interpreter.do_subproject(subp_name, func_kwargs)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 948, in do_subproject
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 936, in do_subproject
return methods_map[method](subp_name, subdir, default_options, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 987, in _do_subproject_meson
subi.run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 3032, in run
super().run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 169, in run
self.evaluate_codeblock(self.ast, start=1)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 195, in evaluate_codeblock
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 187, in evaluate_codeblock
self.evaluate_statement(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 203, in evaluate_statement
self.evaluate_plusassign(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 488, in evaluate_plusassign
addition = self.evaluate_statement(node.value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 201, in evaluate_statement
return self.function_call(cur)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 528, in function_call
res = func(node, func_args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 799, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Previous line repeated 4 more times]
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 98, in wrapped
ret = f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 116, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 250, in wrapper
return f(*nargs, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 569, in wrapper
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 1809, in func_dependency
d = df.lookup(kwargs)
^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\dependencyfallbacks.py", line 354, in lookup
dep = func(kwargs, func_args, func_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\dependencyfallbacks.py", line 130, in _do_subproject
self.interpreter.do_subproject(subp_name, func_kwargs)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 948, in do_subproject
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 936, in do_subproject
return methods_map[method](subp_name, subdir, default_options, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 987, in _do_subproject_meson
subi.run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 3032, in run
super().run()
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 169, in run
self.evaluate_codeblock(self.ast, start=1)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 195, in evaluate_codeblock
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 187, in evaluate_codeblock
self.evaluate_statement(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 241, in evaluate_statement
self.evaluate_foreach(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 479, in evaluate_foreach
self.evaluate_codeblock(node.block)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 195, in evaluate_codeblock
raise e
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 187, in evaluate_codeblock
self.evaluate_statement(cur)
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 219, in evaluate_statement
return self.evaluate_if(cur)
^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 294, in evaluate_if
result = self.evaluate_statement(i.condition)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 207, in evaluate_statement
return self.method_call(cur)
^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 557, in method_call
res = obj.method_call(method_name, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\baseobjects.py", line 81, in method_call
return method(args, kwargs)
^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 250, in wrapper
return f(*nargs, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 569, in wrapper
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\compiler.py", line 653, in has_header_method
return self._has_header_impl(args[0], kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\compiler.py", line 638, in _has_header_impl
haz, cached = self.compiler.has_header(hname, kwargs['prefix'], self.environment,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\mixins\clike.py", line 351, in has_header
return self.compiles(code, env, extra_args=extra_args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\compilers.py", line 1310, in compiles
with self._build_wrapper(code, env, extra_args, dependencies, mode, disable_cache=disable_cache) as p:
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\compilers.py", line 1291, in _build_wrapper
args = self.build_wrapper_args(env, extra_args, dependencies, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\mixins\clike.py", line 420, in build_wrapper_args
extra_args = mesonlib.listify([e(mode.value) if callable(e) else e for e in extra_args])
^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\interpreter\compiler.py", line 274, in _determine_args
args += self.compiler.get_option_compile_args(opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\cpp.py", line 857, in get_option_compile_args
args = super().get_option_compile_args(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\compilers\cpp.py", line 816, in get_option_compile_args
options.set_value(key, 'c++14')
File "C:\hostedtoolcache\windows\Python\3.12.4\x64\Lib\site-packages\mesonbuild\coredata.py", line 940, in set_value
self.overrides[key] = value
~~~~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object does not support item assignment
I think it's a dupe of https://github.com/mesonbuild/meson/issues/13401.
Ah, thanks! Could be a dupe, though this isn't using icc.
They both look like they are related to the option refactor, but this one appears to actually be a dupe of #13402 instead.
This was similarly broken for me on 1.5.0, and is now working on 1.5.1.