-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Closed
Closed
Copy link
Labels
Description
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