mesonbuild / meson

The Meson Build System
http://mesonbuild.com
Apache License 2.0
5.39k stars 1.55k forks source link

Unhandled Python exception on meson build #10161

Open NaiveInvestigator opened 2 years ago

NaiveInvestigator commented 2 years ago

Describe the bug Unhanded Python exception when running meson build

To Reproduce Link to repo - https://github.com/user202729/CasioEmu

$ meson build && cd build
The Meson build system
Version: 0.61.2
Source dir: D:/Downloads/CasioEmu-stable/emulator
Build dir: D:/Downloads/CasioEmu-stable/emulator/build
Build type: native build
Project name: emulator
Project version: 1.0.0
Activating VS 16.11.10
\MSYS2\tmp\dd_vsdevcmd16_preinit_env.log was unexpected at this time.
Traceback (most recent call last):
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/mesonmain.py", line 146, in run
    return options.run_func(options)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/msetup.py", line 294, in run
    app.generate()
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/msetup.py", line 185, in generate
    self._generate(env)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/msetup.py", line 207, in _generate
    intr = interpreter.Interpreter(b, user_defined_options=user_defined_options)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreter/interpreter.py", line 307, in __init__
    self.parse_project()
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 118, in parse_project
    self.evaluate_codeblock(self.ast, end=1)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 173, in evaluate_codeblock
    raise e
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 166, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 179, in evaluate_statement
    return self.function_call(cur)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 454, in function_call
    res = func(node, func_args, kwargs)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/decorators.py", line 276, in wrapper
    return f(*nargs, **wrapped_kwargs)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreterbase/decorators.py", line 573, in wrapper
    return f(*wrapped_args, **wrapped_kwargs)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/interpreter/interpreter.py", line 1167, in func_project
    if mesonlib.setup_vsenv(force_vsenv):
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/mesonlib/vsenv.py", line 107, in setup_vsenv
    return _setup_vsenv(force)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/site-packages/mesonbuild/mesonlib/vsenv.py", line 89, in _setup_vsenv
    bat_output = subprocess.check_output(bat_file.name, universal_newlines=True)
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "D:/Program Files (x86)/MSYS2/mingw64/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'C:/Users/Akid/AppData/Local/Temp/tmp7wozbebs.bat' returned non-zero exit status 255.

meson.build:1:0: ERROR: Unhandled python exception

    This is a Meson bug and should be reported!

Expected behavior To build the program.

system parameters

xclaesse commented 2 years ago

Does it work to run 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat manually? Depending on where you installed VS.

xclaesse commented 2 years ago

Oh, are you running from within msys2 terminal? I think you need powershell/cmd terminal maybe?

NaiveInvestigator commented 2 years ago

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat

Yes it does, I installed with Chocolatey, so it is installed at its default location

NaiveInvestigator commented 2 years ago

Oh, are you running from within msys2 terminal? I think you need powershell/cmd terminal maybe?

I tried that too by adding the mysys tools on my path and then use it on cmd, didnt work sadly

xclaesse commented 2 years ago

@NaiveInvestigator Unfortunately since it works perfectly for me and nobody else got similar issues AFAIK, it's likely something is different on your specific setup. I'm afraid but you'll have to debug this yourself, the relevant code is there: https://github.com/mesonbuild/meson/blob/master/mesonbuild/mesonlib/vsenv.py. You may want to start by printing the value of bat_contents because that's the script that fails to execute as far as I can tell.