Skip to content

[lld-link][arm64ec] error: msvcrtd.lib: machine type arm64 conflicts with arm64ec #113658

@abique

Description

@abique

Hi,

It seems that LLVM isn't ready for arm64ec on Windows?
I've tried both LLVM bundled with Visual Studio and LLVM 19.1.2, and I got the same results.

Maybe I didn't correctly configure my environment, but I have the feeling that it lld-link which isn't able to find the correct files or perform the required adjustments.

-- The C compiler identification is Clang 17.0.3 with MSVC-like command-line
-- The CXX compiler identification is Clang 17.0.3 with MSVC-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: 'C:/dev/dev1/cmake-builds/windows-arm64ec-neon/CMakeFiles/CMakeScratch/TryCompile-4nim81'

    Run Build Command(s): C:/PROGRA~1/MICROS~4/2022/COMMUN~1/Common7/IDE/COMMON~1/MICROS~1/CMake/Ninja/ninja.exe -v cmTC_cd881
    [1/2] C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\Llvm\x64\bin\clang-cl.exe  /nologo -DCMAKE_INTDIR=\"Debug\"  --target=arm64ec-pc-windows-msvc /DWIN32 /D_WINDOWS  /Zi /Ob0 /Od /RTC1 -MDd /showIncludes /FoCMakeFiles\cmTC_cd881.dir\Debug\testCCompiler.c.obj /FdCMakeFiles\cmTC_cd881.dir\Debug\ -c -- C:\dev\dev1\cmake-builds\windows-arm64ec-neon\CMakeFiles\CMakeScratch\TryCompile-4nim81\testCCompiler.c
    [2/2] C:\WINDOWS\system32\cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_cd881.dir\Debug --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\Llvm\x64\bin\lld-link.exe /nologo CMakeFiles\cmTC_cd881.dir\Debug\testCCompiler.c.obj  /out:Debug\cmTC_cd881.exe /implib:Debug\cmTC_cd881.lib /pdb:Debug\cmTC_cd881.pdb /version:0.0 /MACHINE:ARM64EC  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
    FAILED: Debug/cmTC_cd881.exe
    C:\WINDOWS\system32\cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_cd881.dir\Debug --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\Llvm\x64\bin\lld-link.exe /nologo CMakeFiles\cmTC_cd881.dir\Debug\testCCompiler.c.obj  /out:Debug\cmTC_cd881.exe /implib:Debug\cmTC_cd881.lib /pdb:Debug\cmTC_cd881.pdb /version:0.0 /MACHINE:ARM64EC  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
    LINK Pass 1: command "C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\Llvm\x64\bin\lld-link.exe /nologo CMakeFiles\cmTC_cd881.dir\Debug\testCCompiler.c.obj /out:Debug\cmTC_cd881.exe /implib:Debug\cmTC_cd881.lib /pdb:Debug\cmTC_cd881.pdb /version:0.0 /MACHINE:ARM64EC /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\cmTC_cd881.dir\Debug/intermediate.manifest CMakeFiles\cmTC_cd881.dir\Debug/manifest.res" failed (exit code 1) with the following output:
    lld-link: error: msvcrtd.lib(exe_main.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(loadcfg.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(utility.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(gs_support.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(matherr.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(argv_mode.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(commit_mode.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(file_mode.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(new_mode.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(thread_locale.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(tncleanup.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(env_mode.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(invalid_parameter_handler.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(denormal_control.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(default_local_stdio_options.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(matherr_detection.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(dyn_tls_init.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(dyn_tls_dtor.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(utility_desktop.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: msvcrtd.lib(initsect.obj): machine type arm64 conflicts with arm64ec
    lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
    ninja: build stopped: subcommand failed.





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:8 (project)


-- Configuring incomplete, errors occurred!

The environment is initialized using:

@call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=arm64 -host_arch=amd64 -no_logo

The cmake toolchain:

set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR ARM64EC)
set(CMAKE_SYSTEM_VERSION 11)

set(CMAKE_C_FLAGS_INIT "--target=arm64ec-pc-windows-msvc")
set(CMAKE_CXX_FLAGS_INIT "--target=arm64ec-pc-windows-msvc")

# Need to set it manually or cmake will throw /machine:arm64 which is "incompatible"??
set(CMAKE_EXE_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_SHARED_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_STATIC_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_MODULE_LINKER_FLAGS "/MACHINE:ARM64EC")

My environment:

"environment": {
        "WindowsSdkBinPath": "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\",
        "ALLUSERSPROFILE": "C:\\ProgramData",
        "VCToolsRedistDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Redist\\MSVC\\14.40.33807\\",
        "INTEL_LICENSE_FILE": "C:\\Program Files (x86)\\Common Files\\Intel\\Licenses",
        "WindowsSdkVerBinPath": "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\",
        "SystemDrive": "C:",
        "VSCMD_VER": "17.11.5",
        "DIRNAME": "C:\\dev\\dev1\\",
        "USERNAME": "bique",
        "INCLUDE": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\include;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um",
        "ProgramFiles(x86)": "C:\\Program Files (x86)",
        "VSCMD_ARG_HOST_ARCH": "x64",
        "DEFAULT_JVM_OPTS": "\"-Xmx64m\" \"-Xms64m\"",
        "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL",
        "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
        "HOMEPATH": "\\Users\\bique",
        "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 94 Stepping 3, GenuineIntel",
        "ProgramFiles": "C:\\Program Files",
        "ExtensionSdkDir": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs",
        "windir": "C:\\WINDOWS",
        "__DOTNET_ADD_64BIT": "1",
        "VSCMD_ARG_no_logo": "1",
        "__DOTNET_PREFERRED_BITNESS": "64",
        "WindowsSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
        "is_x64_arch": "true",
        "UseMultiToolTask": "TRUE",
        "UCRTVersion": "10.0.26100.0",
        "__VSCMD_PREINIT_PATH": "C:\\Program Files\\Microsoft\\jdk-11.0.16.101-hotspot\\bin;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\;C:\\Program Files\\WireGuard\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Program Files\\TortoiseHg\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Users\\bique\\.cargo\\bin;C:\\Users\\bique\\AppData\\Local\\Microsoft\\WindowsApps;C:\\dev\\maven\\bin;C:\\dev\\bin;C:\\dev\\qmessage;C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2019.3.2\\bin;;C:\\Program Files\\ImageMagick-7.0.11-Q16-HDRI;C:\\Program Files\\JetBrains\\RustRover 233.13135.127\\bin;;C:\\Program Files\\CMake\\bin",
        "Path": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\bin\\HostX64\\ARM64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\bin\\HostX64\\x64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Common\\VSPerfCollectionTools\\vs2019\\;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Team Tools\\DiagnosticsHub\\Collector;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\\\x64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\\\MSBuild\\Current\\Bin\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\;C:\\Program Files\\Microsoft\\jdk-11.0.16.101-hotspot\\bin;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\;C:\\Program Files\\WireGuard\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Program Files\\TortoiseHg\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Users\\bique\\.cargo\\bin;C:\\Users\\bique\\AppData\\Local\\Microsoft\\WindowsApps;C:\\dev\\maven\\bin;C:\\dev\\bin;C:\\dev\\qmessage;C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2019.3.2\\bin;;C:\\Program Files\\ImageMagick-7.0.11-Q16-HDRI;C:\\Program Files\\JetBrains\\RustRover 233.13135.127\\bin;;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\Llvm\\x64\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\Linux\\bin\\ConnectionManagerExe",
        "VCINSTALLDIR": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\",
        "LIB": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\ARM64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.26100.0\\ucrt\\arm64;C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.26100.0\\\\um\\arm64",
        "VSCMD_ARG_TGT_ARCH": "arm64",
        "ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
        "VisualStudioVersion": "17.0",
        "HOMEDRIVE": "C:",
        "FrameworkVersion": "v4.0.30319",
        "WindowsSDKLibVersion": "10.0.26100.0\\",
        "VCToolsVersion": "14.41.34120",
        "WindowsSDK_ExecutablePath_x64": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\",
        "PROCESSOR_LEVEL": "6",
        "PROCESSOR_ARCHITECTURE": "AMD64",
        "EXTERNAL_INCLUDE": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\include;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um",
        "DevEnvDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\",
        "PreferredToolArchitecture": "x64",
        "FrameworkVersion64": "v4.0.30319",
        "VCToolsInstallDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\",
        "ProgramData": "C:\\ProgramData",
        "ProgramW6432": "C:\\Program Files",
        "LIBPATH": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\ARM64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\x86\\store\\references;C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319",
        "POWERSHELL_DISTRIBUTION_CHANNEL": "MSI:Windows 10 Home",
        "WindowsSDKVersion": "10.0.26100.0\\",
        "VSCMD_ARG_app_plat": "Desktop",
        "WindowsSDK_ExecutablePath_x86": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\",
        "LOCALAPPDATA": "C:\\Users\\bique\\AppData\\Local",
        "NETFXSDKDir": "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\",
        "WindowsLibPath": "C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0",
        "UniversalCRTSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
        "CommandPromptType": "Cross",
        "CommonProgramFiles": "C:\\Program Files\\Common Files",
        "VCIDEInstallDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\",
        "Framework40Version": "v4.0",
        "OS": "Windows_NT",
        "VSINSTALLDIR": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\",
        "VS170COMNTOOLS": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\",
        "FrameworkDir64": "C:\\Windows\\Microsoft.NET\\Framework64\\",
        "PROCESSOR_REVISION": "5e03",
        "CommonProgramW6432": "C:\\Program Files\\Common Files",
        "FrameworkDir": "C:\\Windows\\Microsoft.NET\\Framework64\\",
        "SystemRoot": "C:\\WINDOWS",
        "POWERSHELL_TELEMETRY_OPTOUT": "1",
        "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files"
      },

Thanks,
Alex

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions