-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Description
Describe the bug
Some change (very likely #15213) triggered a regression in regards to android_exe_type handling, breaking the GTK CI.
Stacktrace
Traceback (most recent call last):
File "/home/florian/workspace/Android/meson5/mesonbuild/mesonmain.py", line 193, in run
return options.run_func(options)
~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/msetup.py", line 404, in run
app.generate()
~~~~~~~~~~~~^^
File "/home/florian/workspace/Android/meson5/mesonbuild/msetup.py", line 196, in generate
return self._generate(env, capture, vslite_ctx)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/msetup.py", line 255, in _generate
intr.run()
~~~~~~~~^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreter/interpreter.py", line 3058, in run
super().run()
~~~~~~~~~~~^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 178, in run
self.evaluate_codeblock(self.ast, start=1)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 203, in evaluate_codeblock
raise e
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 195, in evaluate_codeblock
self.evaluate_statement(cur)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 213, in evaluate_statement
self.assignment(cur)
~~~~~~~~~~~~~~~^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 644, in assignment
value = self.evaluate_statement(node.value)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 209, in evaluate_statement
return self.function_call(cur)
~~~~~~~~~~~~~~~~~~^^^^^
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/interpreterbase.py", line 536, in function_call
res = func(node, func_args, kwargs)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/decorators.py", line 103, in wrapped
return f(*wrapped_args, **wrapped_kwargs)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/decorators.py", line 237, in wrapper
return f(*nargs, **wrapped_kwargs)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreterbase/decorators.py", line 565, in wrapper
return f(*wrapped_args, **wrapped_kwargs)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreter/interpreter.py", line 1830, in func_executable
holder = self.build_target(node, args, self._strip_exe_specific_kwargs(kwargs), build.SharedLibrary)
File "/home/florian/workspace/Android/meson5/mesonbuild/interpreter/interpreter.py", line 3468, in build_target
kwargs['rust_abi'], kwargs['rust_crate_type'], 'dylib', 'cdylib', targetclass.typename,
~~~~~~^^^^^^^^^^^^
KeyError: 'rust_abi'
To Reproduce
Run the android/1 exe_type test-case. Annoyingly this doesn't currently happen in the CI due to it not being set-up for android cross compilation.
Expected behavior
The resulting target of an executable(..., android_exe_type: 'application') should be a shared library on android. Not sure in regards to the rust sources, probably cdylib? I was planing on looking on how to best integrate gtk-rs on android w. meson after #14952.