Skip to content

Trying to set nested subproject option in native file results in unhandled Python exception #14222

Open
@meator

Description

Describe the bug
Trying to set nested subproject option in native file results in unhandled Python exception.

Traceback (most recent call last):
  File "/home/meator/git/meson/mesonbuild/mesonmain.py", line 193, in run
    return options.run_func(options)
           ~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/meator/git/meson/mesonbuild/msetup.py", line 365, in run
    app.generate()
    ~~~~~~~~~~~~^^
  File "/home/meator/git/meson/mesonbuild/msetup.py", line 181, in generate
    env = environment.Environment(self.source_dir, self.build_dir, self.options)
  File "/home/meator/git/meson/mesonbuild/environment.py", line 634, in __init__
    self._load_machine_file_options(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        config, properties.build,
        ^^^^^^^^^^^^^^^^^^^^^^^^^
        MachineChoice.BUILD if self.coredata.cross_files else MachineChoice.HOST)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/meator/git/meson/mesonbuild/environment.py", line 721, in _load_machine_file_options
    subproject, section = section.split(':')
    ^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 2)

ERROR: Unhandled python exception

    This is a Meson bug and should be reported!

native_file.ini (also included in the archive below):

[mylib:sublib:project options]
verbose-summary = true

To Reproduce
meson-repro-subproject-tree.tar.gz

Expected behavior
This either being possible or a descriptive error message being printed (and the exception being handled).

system parameters

  • native build
  • Void Linux
  • Python 3.13.1
  • tested both Meson 1.7.0 and 0e6e687 (current HEAD)
  • Ninja 1.12.1

Metadata

Assignees

No one assigned

    Labels

    exceptionMajor bug that raises a python-level exceptionoptionsMeson configuration options

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions