Skip to content

Use ARM64 tools when building on ARM64 hosts #104695

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

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>
@eiriktsarpalis eiriktsarpalis merged commit ebaa0cd into dotnet:main Jul 11, 2024
146 of 148 checks passed
@eiriktsarpalis eiriktsarpalis deleted the use-arm64-compiler branch July 11, 2024 14:32
@github-actions github-actions bot locked and limited conversation to collaborators Aug 11, 2024
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