meson icon indicating copy to clipboard operation
meson copied to clipboard

Unhandled python exception when attempting to use clang-cl

Open TyBalduf opened this issue 3 years ago • 9 comments

Describe the bug I get an unhandled python exception if I try to use the clang-cl C compiler in a mingw64 shell.

The Meson build system
Version: 0.62.99
Source dir: C:/msys64/home/balduf/xtb
Build dir: C:/msys64/home/balduf/xtb/build
Build type: native build
Project name: xtb
Project version: 6.5.0
Fortran compiler for the host machine: ifort (intel-cl 2021.5.0)
Fortran linker for the host machine: xilink.exe xilink 2021.5.0
Traceback (most recent call last):
  File "C:/msys64/home/balduf/meson/mesonbuild/mesonmain.py", line 151, in run
    return options.run_func(options)
  File "C:/msys64/home/balduf/meson/mesonbuild/msetup.py", line 304, in run
    app.generate()
  File "C:/msys64/home/balduf/meson/mesonbuild/msetup.py", line 187, in generate
    self._generate(env)
  File "C:/msys64/home/balduf/meson/mesonbuild/msetup.py", line 209, in _generate
    intr = interpreter.Interpreter(b, user_defined_options=user_defined_options)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreter/interpreter.py", line 320, in __init__
    self.parse_project()
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/interpreterbase.py", line 119, in parse_project
    self.evaluate_codeblock(self.ast, end=1)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/interpreterbase.py", line 174, in evaluate_codeblock
    raise e
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/interpreterbase.py", line 167, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/interpreterbase.py", line 180, in evaluate_statement
    return self.function_call(cur)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/interpreterbase.py", line 462, in function_call
    res = func(node, func_args, kwargs)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/decorators.py", line 277, in wrapper
    return f(*nargs, **wrapped_kwargs)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreterbase/decorators.py", line 574, in wrapper
    return f(*wrapped_args, **wrapped_kwargs)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreter/interpreter.py", line 1233, in func_project
    self.add_languages(proj_langs, True, MachineChoice.HOST)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreter/interpreter.py", line 1369, in add_languages
    success = self.add_languages_for(args, required, for_machine)
  File "C:/msys64/home/balduf/meson/mesonbuild/interpreter/interpreter.py", line 1407, in add_languages_for
    comp = compilers.detect_compiler_for(self.environment, lang, for_machine)
  File "C:/msys64/home/balduf/meson/mesonbuild/compilers/detect.py", line 224, in detect_compiler_for
    comp = compiler_from_language(env, lang, for_machine)
  File "C:/msys64/home/balduf/meson/mesonbuild/compilers/detect.py", line 221, in compiler_from_language
    return lang_map[lang](env, for_machine) if lang in lang_map else None
  File "C:/msys64/home/balduf/meson/mesonbuild/compilers/detect.py", line 665, in detect_c_compiler
    return _detect_c_or_cpp_compiler(env, 'c', for_machine)
  File "C:/msys64/home/balduf/meson/mesonbuild/compilers/detect.py", line 528, in _detect_c_or_cpp_compiler
    linker = guess_win_linker(env, ['lld-link'], cls, version, for_machine)
  File "C:/msys64/home/balduf/meson/mesonbuild/linkers/detect.py", line 84, in guess_win_linker
    p, o, _ = Popen_safe(compiler + check_args)
  File "C:/msys64/home/balduf/meson/mesonbuild/mesonlib/universal.py", line 1406, in Popen_safe
    p, o, e = Popen_safe_legacy(args, write=write, stdout=stdout, stderr=stderr, **kwargs)
  File "C:/msys64/home/balduf/meson/mesonbuild/mesonlib/universal.py", line 1422, in Popen_safe_legacy
    p = subprocess.Popen(args, universal_newlines=False, close_fds=False,
  File "C:/msys64/mingw64/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:/msys64/mingw64/lib/python3.9/subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

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

    This is a Meson bug and should be reported!

To Reproduce Open mingw64 shell. export CC=clang-cl; meson setup build --buildtype=release. This occurred while attempting to build xtb though it doesn't seem to have reached anything specific to this package.

system parameters

  • plain native build
  • Windows 10 (Mingw64 shell)
  • Python 3.8
  • meson version 0.62.99

TyBalduf avatar May 27 '22 18:05 TyBalduf