Skip to content

Don't crash when there is more than one architecture type in a lib.#599

Merged
BillyONeal merged 2 commits intomicrosoft:mainfrom
BillyONeal:arm64-arch-crash
Jun 23, 2022
Merged

Don't crash when there is more than one architecture type in a lib.#599
BillyONeal merged 2 commits intomicrosoft:mainfrom
BillyONeal:arm64-arch-crash

Conversation

@BillyONeal
Copy link
Copy Markdown
Member

This was discovered in attempting to update the Windows SDK in microsoft/vcpkg#25260 ; this Windows SDK has arm64x libraries that contain both arm64 and arm64ec architecture code.

This was discovered in attempting to update the Windows SDK in microsoft/vcpkg#25260 ; this Windows SDK has arm64x libraries that contain both arm64 and arm64ec architecture code.
@Thomas1664
Copy link
Copy Markdown
Contributor

Dup of #593

@BillyONeal
Copy link
Copy Markdown
Member Author

Dup of #593

That seems to be trying to enforce that all architectures match, this one is allowing other architectures, which is necessary for arm64x.

@BillyONeal
Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@BillyONeal BillyONeal merged commit 68143d3 into microsoft:main Jun 23, 2022
@BillyONeal BillyONeal deleted the arm64-arch-crash branch June 23, 2022 01:18
BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Jun 23, 2022
…e-pipelines/../ci.baseline.txt).

PASSING, REMOVE FROM FAIL LIST: chmlib:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: gl3w:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: glew:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: laszip:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: laszip:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: opengl:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: rttr:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: rttr:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: seal:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: seal:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).

:)

REGRESSION: ftgl:arm-uwp failed with BUILD_FAILED. If expected, add ftgl:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: mathgl:arm-uwp failed with BUILD_FAILED. If expected, add mathgl:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: opencsg:arm-uwp failed with BUILD_FAILED. If expected, add opencsg:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.

These were all previously blocked by one of the above passing-remove-from-fail-lists.

REGRESSION: ms-quic:arm-uwp failed with BUILD_FAILED. If expected, add ms-quic:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-uwp failed with BUILD_FAILED. If expected, add ms-quic:x64-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-windows failed with BUILD_FAILED. If expected, add ms-quic:x64-windows=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-windows-static-md failed with BUILD_FAILED. If expected, add ms-quic:x64-windows-static-md=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x86-windows failed with BUILD_FAILED. If expected, add ms-quic:x86-windows=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.

This port hates the current Windows SDK, and it is a leaf port, so I'm marking it `=fail`:

```
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(564): error C2375: 'NtQueryTimerResolution': redefinition; different linkage
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(713): note: see declaration of 'NtQueryTimerResolution'
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(765): error C2011: '_THREAD_NAME_INFORMATION': 'struct' type redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(352): note: see declaration of '_THREAD_NAME_INFORMATION'
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(773): error C2375: 'NtSetInformationThread': redefinition; different linkage
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(659): note: see declaration of 'NtSetInformationThread'
```

arm64-windows crashed. Previously opengl failed so we never got here. microsoft/vcpkg-tool#599

```
Building opengl[core]:arm64-windows...
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/lib/pkgconfig/glu.pc
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/lib/pkgconfig/opengl.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at D:/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/debug/lib/pkgconfig/glu.pc
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/debug/lib/pkgconfig/opengl.pc
-- Performing post-build validation
Found more than 1 architecture in file D:\packages\opengl_arm64-windows\debug\lib\GlU32.Lib
##[error]vcpkg ci failed
At C:\a\2\s\scripts\azure-pipelines\test-modified-ports.ps1:173 char:5
+     throw "vcpkg ci failed"
+     ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OperationStopped: (vcpkg ci failed:String) [], RuntimeException
+ FullyQualifiedErrorId : vcpkg ci failed
##[error]PowerShell exited with code '1'.
```
BillyONeal added a commit to microsoft/vcpkg that referenced this pull request Jun 23, 2022
* Update PowerShell to 7.2.4.

* Update Windows SDKs.

* Add libdbus-1-dev. Resolves #25094

* PASSING, REMOVE FROM FAIL LIST: chmlib:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).

PASSING, REMOVE FROM FAIL LIST: chmlib:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: gl3w:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: glew:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: laszip:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: laszip:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: opengl:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: rttr:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: rttr:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: seal:arm-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: seal:x64-uwp (C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt).

:)

REGRESSION: ftgl:arm-uwp failed with BUILD_FAILED. If expected, add ftgl:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: mathgl:arm-uwp failed with BUILD_FAILED. If expected, add mathgl:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: opencsg:arm-uwp failed with BUILD_FAILED. If expected, add opencsg:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.

These were all previously blocked by one of the above passing-remove-from-fail-lists.

REGRESSION: ms-quic:arm-uwp failed with BUILD_FAILED. If expected, add ms-quic:arm-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-uwp failed with BUILD_FAILED. If expected, add ms-quic:x64-uwp=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-windows failed with BUILD_FAILED. If expected, add ms-quic:x64-windows=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x64-windows-static-md failed with BUILD_FAILED. If expected, add ms-quic:x64-windows-static-md=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.
REGRESSION: ms-quic:x86-windows failed with BUILD_FAILED. If expected, add ms-quic:x86-windows=fail to C:\a\2\s\scripts\azure-pipelines/../ci.baseline.txt.

This port hates the current Windows SDK, and it is a leaf port, so I'm marking it `=fail`:

```
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(564): error C2375: 'NtQueryTimerResolution': redefinition; different linkage
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(713): note: see declaration of 'NtQueryTimerResolution'
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(765): error C2011: '_THREAD_NAME_INFORMATION': 'struct' type redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(352): note: see declaration of '_THREAD_NAME_INFORMATION'
D:\buildtrees\ms-quic\src\v1.2.0-19ce393c24.clean\src\inc\quic_platform_winuser.h(773): error C2375: 'NtSetInformationThread': redefinition; different linkage
C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\winternl.h(659): note: see declaration of 'NtSetInformationThread'
```

arm64-windows crashed. Previously opengl failed so we never got here. microsoft/vcpkg-tool#599

```
Building opengl[core]:arm64-windows...
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/lib/pkgconfig/glu.pc
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/lib/pkgconfig/opengl.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at D:/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/debug/lib/pkgconfig/glu.pc
-- Fixing pkgconfig file: D:/packages/opengl_arm64-windows/debug/lib/pkgconfig/opengl.pc
-- Performing post-build validation
Found more than 1 architecture in file D:\packages\opengl_arm64-windows\debug\lib\GlU32.Lib
##[error]vcpkg ci failed
At C:\a\2\s\scripts\azure-pipelines\test-modified-ports.ps1:173 char:5
+     throw "vcpkg ci failed"
+     ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OperationStopped: (vcpkg ci failed:String) [], RuntimeException
+ FullyQualifiedErrorId : vcpkg ci failed
##[error]PowerShell exited with code '1'.
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants