Skip to content

Error configuring: meson being silly in linker detection. #9727

@Neumann-A

Description

@Neumann-A

error:

Traceback (most recent call last):
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\mesonmain.py", line 138, in run
    return options.run_func(options)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\msetup.py", line 294, in run
    app.generate()
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\msetup.py", line 185, in generate
    self._generate(env)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\msetup.py", line 207, in _generate
    intr = interpreter.Interpreter(b, user_defined_options=user_defined_options)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreter\interpreter.py", line 298, in __init__
    self.parse_project()
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\interpreterbase.py", line 118, in parse_project
    self.evaluate_codeblock(self.ast, end=1)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\interpreterbase.py", line 173, in evaluate_codeblock
    raise e
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\interpreterbase.py", line 166, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\interpreterbase.py", line 179, in evaluate_statement
    return self.function_call(cur)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\interpreterbase.py", line 454, in function_call
    res = func(node, func_args, kwargs)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\decorators.py", line 115, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreterbase\decorators.py", line 276, in wrapper
    return f(*nargs, **wrapped_kwargs)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreter\interpreter.py", line 1131, in func_project
    self.add_languages(proj_langs, True, MachineChoice.HOST)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreter\interpreter.py", line 1258, in add_languages
    success = self.add_languages_for(args, required, for_machine)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\interpreter\interpreter.py", line 1296, in add_languages_for
    comp = compilers.detect_compiler_for(self.environment, lang, for_machine)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\compilers\detect.py", line 215, in detect_compiler_for
    comp = compiler_from_language(env, lang, for_machine)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\compilers\detect.py", line 212, in compiler_from_language
    return lang_map[lang](env, for_machine) if lang in lang_map else None
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\compilers\detect.py", line 626, in detect_c_compiler
    return _detect_c_or_cpp_compiler(env, 'c', for_machine)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\compilers\detect.py", line 500, in _detect_c_or_cpp_compiler
    linker = guess_win_linker(env, ['lld-link'], cls, for_machine)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\linkers\detect.py", line 82, in guess_win_linker
    p, o, _ = Popen_safe(compiler + check_args)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\mesonlib\universal.py", line 1391, in Popen_safe
    p, o, e = Popen_safe_legacy(args, write=write, stdout=stdout, stderr=stderr, **kwargs)
  File "E:\src\AllProjects\build\vcpkg_installed\x64-windows-llvm\tools\meson\mesonbuild\mesonlib\universal.py", line 1408, in Popen_safe_legacy
    p = subprocess.Popen(args, universal_newlines=False, close_fds=False,
  File "subprocess.py", line 966, in __init__
  File "subprocess.py", line 1435, in _execute_child
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden

value = env.lookup_binary_entry(for_machine, comp_class.language + '_ld')
if value is not None:
override = comp_class.use_linker_args(value[0])
check_args += override
if extra_args is not None:
check_args.extend(extra_args)
p, o, _ = Popen_safe(compiler + check_args)
if 'LLD' in o.split('\n')[0]:
if '(compatible with GNU linkers)' in o:
return LLVMDynamicLinker(
compiler, for_machine, comp_class.LINKER_PREFIX,
override, version=search_version(o))
elif not invoked_directly:
return ClangClDynamicLinker(
for_machine, override, exelist=compiler, prefix=comp_class.LINKER_PREFIX,
version=search_version(o), direct=False, machine=None)
if value is not None and invoked_directly:
compiler = value
# We've already hanedled the non-direct case above
p, o, e = Popen_safe(compiler + check_args)

value on L73 is set to the absolute path to lld-link
compiler on line L96 is set to only lld-link

failing command is:
['lld-link', '/logo', '--version', '-nologo', '-DWIN32', '-D_WINDOWS', '-FC', '-arch:AVX', '-clang:-fasm', '-clang:-fopenmp-simd', '-utf-8', '-Od', '-Ob0', '-GS', '-RTC1', '-MDd', '-Zi', '-IE:/src/AllProjects/build/vcpkg_installed/x64-windows-llvm/include']
which returns some warnings e.g.:
lld-link: warning: ignoring unknown argument '-DWIN32' but also LLD 13.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions