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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions