Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ARM64 tools when building on ARM64 hosts #104695

Merged
merged 3 commits into from
Jul 11, 2024

Conversation

eiriktsarpalis
Copy link
Member

@eiriktsarpalis eiriktsarpalis commented Jul 10, 2024

Fix #104674. Works on my machine™️

Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

@eiriktsarpalis
Copy link
Member Author

Are there any optional CI legs that could benefit from testing the new configuration?

@eiriktsarpalis
Copy link
Member Author

eiriktsarpalis commented Jul 10, 2024

Seems to be failing on the arm64 CI legs with the following error:

  **********************************************************************
  ** Visual Studio 2022 Developer Command Prompt v17.10.0
  ** Copyright (c) 2022 Microsoft Corporation
  **********************************************************************
  [vcvarsall.bat] Environment initialized for: 'arm64'
  BUILD: Regenerating the Visual Studio solution
  Calling "D:\a\_work\1\s\eng\native\gen-buildsys.cmd" "D:\a\_work\1\s\src\coreclr" "D:\a\_work\1\s\artifacts\obj\coreclr\windows.arm64.Checked" vs2022 arm64 windows "-DCMAKE_BUILD_TYPE=Checked" "-DCLR_CMAKE_TARGET_ARCH=arm64" "-DCLR_CMAKE_TARGET_OS=windows" "-DCLI_CMAKE_FALLBACK_OS=win10" "-DCLR_CMAKE_PGO_INSTRUMENT=0" "-DCLR_CMAKE_OPTDATA_PATH=" "-DCLR_CMAKE_PGO_OPTIMIZE=0" "-DCDAC_BUILD_TOOL_BINARY_PATH=D:\a\_work\1\s\artifacts\bin\coreclr\windows.arm64.Checked\cdac-build-tool\cdac-build-tool.dll" "-DCLR_DOTNET_HOST_PATH=D:\a\_work\1\s\.dotnet\dotnet.exe" 
  Not searching for unused variables given on the command line.
  -- The C compiler identification is MSVC 19.40.33808.0
  -- The CXX compiler identification is MSVC 19.40.33808.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - failed
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx86/x86/cl.exe
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx86/x86/cl.exe - broken
  CMake Error at C:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:67 (message):
    The C compiler
  
      "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx86/x86/cl.exe"
  
    is not able to compile a simple test program.
  
    It fails with the following output:
  
      Change Dir: 'D:/a/_work/1/s/artifacts/obj/coreclr/windows.arm64.Checked/CMakeFiles/CMakeScratch/TryCompile-pz3fl1'
      
      Run Build Command(s): C:/ninja/ninja.exe -v cmTC_413ed
      [1/2] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1440~1.338\bin\Hostx86\x86\cl.exe  /nologo   /DWIN32 /D_WINDOWS  /Zi /Ob0 /Od /RTC1 -MDd /showIncludes /FoCMakeFiles\cmTC_413ed.dir\testCCompiler.c.obj /FdCMakeFiles\cmTC_413ed.dir\ /FS -c D:\a\_work\1\s\artifacts\obj\coreclr\windows.arm64.Checked\CMakeFiles\CMakeScratch\TryCompile-pz3fl1\testCCompiler.c
      [2/2] C:\Windows\system32\cmd.exe /C "cd . && "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_413ed.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1440~1.338\bin\Hostx86\x86\link.exe /nologo CMakeFiles\cmTC_413ed.dir\testCCompiler.c.obj  /out:cmTC_413ed.exe /implib:cmTC_413ed.lib /pdb:cmTC_413ed.pdb /version:0.0 /machine:X86  /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: cmTC_413ed.exe 
      C:\Windows\system32\cmd.exe /C "cd . && "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_413ed.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1440~1.338\bin\Hostx86\x86\link.exe /nologo CMakeFiles\cmTC_413ed.dir\testCCompiler.c.obj  /out:cmTC_413ed.exe /implib:cmTC_413ed.lib /pdb:cmTC_413ed.pdb /version:0.0 /machine:X86  /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 ."
      RC Pass 1: command "C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\rc.exe /fo CMakeFiles\cmTC_413ed.dir/manifest.res CMakeFiles\cmTC_413ed.dir/manifest.rc" failed (exit code 0) with the following output:
      This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher
      ninja: build stopped: subcommand failed.
      
      
  
    
  
    CMake will not be able to correctly generate this project.
  Call Stack (most recent call first):
    CMakeLists.txt:4 (project)

If I were to make a guess, it's that the changes are causing cross compilation on x64 machines to fail?

@ViktorHofer
Copy link
Member

Yes, the arm64 legs are running on windows.vs2022.amd64.open.

Co-authored-by: Steve <hez2010@outlook.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Intermittent errors building CoreCLR on Windows ARM
4 participants