Skip to content

Disable some very expensive ports on x64-osx.#47358

Merged
BillyONeal merged 4 commits intomicrosoft:masterfrom
BillyONeal:disable-expensive-osx-x64
Sep 16, 2025
Merged

Disable some very expensive ports on x64-osx.#47358
BillyONeal merged 4 commits intomicrosoft:masterfrom
BillyONeal:disable-expensive-osx-x64

Conversation

@BillyONeal
Copy link
Member

https://dev.azure.com/vcpkg/public/_build/results?buildId=120023

We are no longer able to finish an x64-osx run within the 48 hour time limit, and x64-osx is on its way out. In particular, as of upcoming macOS 26 we will be unable to run a current version of macOS-x64 on any hardware available to the vcpkg team as our remaining x64 macs are not on the supported list for it.

Given that the hardware has become unobtanium and we see no practical way to fix the performance issues, I'm disabling particularly expensive ports with relatively few downstream dependencies.

The following runs took >39 minutes on x64-osx:

2025-09-14T16:31:00.7342830Z Elapsed time to handle gz-sim:x64-osx: 4 h  (!!!!!)
2025-09-14T02:34:36.3603110Z Elapsed time to handle llvm:x64-osx: 3.2 h
2025-09-13T19:15:46.8911760Z Elapsed time to handle vtk:x64-osx: 2.1 h
2025-09-15T01:44:23.0634700Z Elapsed time to handle libtorch:x64-osx: 1.7 h
2025-09-13T15:16:32.5876700Z Elapsed time to handle qtdeclarative:x64-osx: 1.5 h
2025-09-15T03:56:41.6201490Z Elapsed time to handle mdl-sdk:x64-osx: 59 min
2025-09-14T04:06:05.9900930Z Elapsed time to handle osg:x64-osx: 53 min
2025-09-13T04:58:45.6678750Z Elapsed time to handle openmpi:x64-osx: 44 min
2025-09-13T08:47:40.4548680Z Elapsed time to handle arrayfire:x64-osx: 39 min
  • I'm assuming that the gz-* ports should all be implicated by gz-sim.
    • Also implicates sdformat
  • llvm,vtk,openmpi,qtdeclarative have too many downstream dependents to disable.
  • osg also implicates:
    • dartsim[gui-osg]
    • osg-qt (also depends on no longer in support qt5)
    • osgearth
  • arrayfire also implicates:
    • flashlight-cpu (already skipped)
    • flashlight-cuda (already skipped)

https://dev.azure.com/vcpkg/public/_build/results?buildId=120023

We are no longer able to finish an x64-osx run within the 48 hour time limit, and x64-osx is on its way out. In particular, as of upcoming macOS 26 we will be unable to run a current version of macOS on any hardware available to the vcpkg team.

Given that the hardware has become unobtanium and we see no practical way to fix the performance issues, I'm disabling particularly expensive ports with relatively few downstream dependencies.

The following runs took >39 minutes on x64-osx:

```console
2025-09-14T16:31:00.7342830Z Elapsed time to handle gz-sim:x64-osx: 4 h
2025-09-14T02:34:36.3603110Z Elapsed time to handle llvm:x64-osx: 3.2 h
2025-09-13T19:15:46.8911760Z Elapsed time to handle vtk:x64-osx: 2.1 h
2025-09-15T01:44:23.0634700Z Elapsed time to handle libtorch:x64-osx: 1.7 h
2025-09-13T15:16:32.5876700Z Elapsed time to handle qtdeclarative:x64-osx: 1.5 h
2025-09-15T03:56:41.6201490Z Elapsed time to handle mdl-sdk:x64-osx: 59 min
2025-09-14T04:06:05.9900930Z Elapsed time to handle osg:x64-osx: 53 min
2025-09-13T04:58:45.6678750Z Elapsed time to handle openmpi:x64-osx: 44 min
2025-09-13T08:47:40.4548680Z Elapsed time to handle arrayfire:x64-osx: 39 min
```

* I'm assuming that the gz-* ports should all be implicated by gz-sim.
    * Also implicates sdformat
* llvm,vtk,openmpi,qtdeclarative have too many downstream dependents to disable.
* osg also implicates:
    * dartsim[gui-osg]
    * osg-qt (also depends on no longer in support qt5)
    * osgearth
* arrayfire also implicates:
    * flashlight-cpu (already skipped)
    * flashlight-cuda (already skipped)
BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Sep 15, 2025
```console
REGRESSION: sourcemeta-blaze:x64-linux failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-linux=fail to /vcpkg/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x64-uwp failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-uwp=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x64-windows failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x64-windows-release failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-windows-release=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x64-windows-static failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-windows-static=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x64-windows-static-md failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x64-windows-static-md=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: sourcemeta-blaze:x86-windows failed with FILE_CONFLICTS. If expected, add sourcemeta-blaze:x86-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
```

microsoft#47360

```console
PASSING, REMOVE FROM FAIL LIST: libwandio:arm-neon-android (/vcpkg/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libwandio:arm64-android (/vcpkg/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libwandio:x64-android (/vcpkg/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: sleef:arm-neon-android (/vcpkg/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: sleef:arm64-android (/vcpkg/scripts/azure-pipelines/../ci.baseline.txt).
```

:)

```console
PASSING, REMOVE FROM FAIL LIST: libxt:x64-windows (D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libxt:x64-windows-release (D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt).
```

:), but that this port tries to change the compiler to clang is unacceptable. Not sure if it can be fixed.

```console
REGRESSION: saucer:arm64-windows failed with BUILD_FAILED. If expected, add saucer:arm64-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: saucer:arm64-windows-static-md failed with BUILD_FAILED. If expected, add saucer:arm64-windows-static-md=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: saucer:x64-windows failed with BUILD_FAILED. If expected, add saucer:x64-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: saucer:x64-windows-static failed with BUILD_FAILED. If expected, add saucer:x64-windows-static=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: saucer:x64-windows-static-md failed with BUILD_FAILED. If expected, add saucer:x64-windows-static-md=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: saucer:x86-windows failed with BUILD_FAILED. If expected, add saucer:x86-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\arm64\cl.exe   /TP -DFMT_SHARED -DNOMINMAX=1 -DSAUCER_WEBKIT_PRIVATE -DSAUCER_WEBVIEW2 -DUNICODE=1 -D_UNICODE=1 -ID:\b\saucer\src\v6.0.1-2f81a02f31.clean\include -ID:\b\saucer\src\v6.0.1-2f81a02f31.clean\private -ID:\b\saucer\src\v6.0.1-2f81a02f31.clean\private\saucer -ID:\b\saucer\src\v6.0.1-2f81a02f31.clean\include\saucer -external:ID:\installed\arm64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /EHsc /MP  /MDd /Z7 /Ob0 /Od /RTC1  -std:c++latest -MDd /wd5030 /utf-8 /Zc:preprocessor /permissive- /Zc:lambda /showIncludes /FoCMakeFiles\saucer.dir\src\glaze.serializer.cpp.obj /FdCMakeFiles\saucer.dir\saucer.pdb /FS -c D:\b\saucer\src\v6.0.1-2f81a02f31.clean\src\glaze.serializer.cpp
D:\b\saucer\src\v6.0.1-2f81a02f31.clean\src\glaze.serializer.cpp : fatal error C1605: compiler limit: object file size cannot exceed 4 GB
ninja: build stopped: subcommand failed.
```

Probably stealth merge conflict between microsoft#46911 and microsoft#47208 .

```console
REGRESSION: blend2d:arm64-uwp failed with BUILD_FAILED. If expected, add blend2d:arm64-uwp=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: blend2d:arm64-windows failed with BUILD_FAILED. If expected, add blend2d:arm64-windows=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: blend2d:arm64-windows-static-md failed with BUILD_FAILED. If expected, add blend2d:arm64-windows-static-md=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: opencv4:arm64-uwp failed with BUILD_FAILED. If expected, add opencv4:arm64-uwp=fail to D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: vcpkg-ci-opencv:arm64-uwp cascaded, but it is required to pass. (D:\a\_work\1\s\scripts\azure-pipelines/../ci.baseline.txt).
```

This is broken for the same Windows SDK + arm64 + -Zc:arm64-aliased-neon-types- reason as several other ports. Probably broken by microsoft#47208 injecting that switch into CMake configs? But naïve build of glaze does not have that switch...

```console
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\arm64\cl.exe   /TP  -external:ID:\installed\arm64-uwp\include -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  -MDd -MP -GR- -GF -Zc:__cplusplus -Zc:inline -Zc:strictStrings -Zc:threadSafeInit- -W4 -Zc:arm64-aliased-neon-types- -GS /showIncludes /FoCMakeFiles\blend2d.dir\src\blend2d\fontmanager.cpp.obj /FdCMakeFiles\blend2d.dir\ /FS -c D:\b\blend2d\src\fc85f14251-f50748665f.clean\src\blend2d\fontmanager.cpp
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(254): error C2664: '__n64 __uint64x1_t_to_n64(uint64x1_t)': cannot convert argument 1 from 'uint16x4_t' to 'uint64x1_t'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(254): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.42.34433\include\arm64_neon.h(1957): note: see declaration of '__uint64x1_t_to_n64'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(254): note: while trying to match the argument list '(uint16x4_t)'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(381): error C2664: '__n64 __uint64x1_t_to_n64(uint64x1_t)': cannot convert argument 1 from 'uint16x4_t' to 'uint64x1_t'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(381): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.42.34433\include\arm64_neon.h(1957): note: see declaration of '__uint64x1_t_to_n64'
C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\wchar.h(381): note: while trying to match the argument list '(uint16x4_t)'
[30/124] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\arm64\cl.exe   /TP  -external:ID:\installed\arm64-uwp\include -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  -MDd -MP -GR- -GF -Zc:__cplusplus -Zc:inline -Zc:strictStrings -Zc:threadSafeInit- -W4 -Zc:arm64-aliased-neon-types- -GS /showIncludes /FoCMakeFiles\blend2d.dir\src\blend2d\object.cpp.obj /FdCMakeFiles\blend2d.dir\ /FS -c D:\b\blend2d\src\fc85f14251-f50748665f.clean\src\blend2d\object.cpp
FAILED: CMakeFiles/blend2d.dir/src/blend2d/object.cpp.obj
```

Drive-by fix: Remove blitz:x64-uwp=fail because it supports !uwp

https://dev.azure.com/vcpkg/public/_build/results?buildId=120022&view=results suggests that this month's updates may fix several of these.
@BillyONeal BillyONeal added info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. category:infrastructure Pertaining to the CI/Testing infrastrucutre labels Sep 16, 2025
@BillyONeal BillyONeal enabled auto-merge (squash) September 16, 2025 02:04
@BillyONeal BillyONeal merged commit 5a56624 into microsoft:master Sep 16, 2025
18 checks passed
@BillyONeal BillyONeal deleted the disable-expensive-osx-x64 branch September 17, 2025 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:infrastructure Pertaining to the CI/Testing infrastrucutre info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants