Skip to content

Windows EnvironmentImpl::osArchitectureImpl() does not report proper architecture on ARM #4928

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

Open
matejk opened this issue Apr 11, 2025 · 2 comments · May be fixed by #4933
Open

Windows EnvironmentImpl::osArchitectureImpl() does not report proper architecture on ARM #4928

matejk opened this issue Apr 11, 2025 · 2 comments · May be fixed by #4933
Assignees
Labels

Comments

@matejk
Copy link
Contributor

matejk commented Apr 11, 2025

Describe the bug

Poco osArchitectureImpl() reports "Unknown" on ARM Windows 11.

Expected behavior

OS Architecture shall be "ARM64"

Please add relevant environment information:

  • Windows 11 ARM
  • POCO Version: 1.14.1
@matejk matejk added the bug label Apr 11, 2025
@matejk matejk self-assigned this Apr 11, 2025
@matejk
Copy link
Contributor Author

matejk commented Apr 11, 2025

Output from Foundation-testsuite on Windows 11 (ARM64 build):

testPlatform: POCO_OS:   4097
POCO_ARCH: 15

testFixedLength:
testBugcheck:
testEnvironment: OS Name:         Windows NT
OS Display Name: Windows 8
OS Version:      6.2 (Build 9200)
OS Architecture: Unknown
Node Name:       WIN-893K4LJ8OGQ
Node ID:         16:e0:0d:ac:09:6b
Number of CPUs:  6

matejk added a commit that referenced this issue Apr 11, 2025
@matejk matejk added this to the Release 1.14.2 milestone Apr 11, 2025
@matejk matejk added this to 1.14 Apr 11, 2025
@matejk matejk moved this to In Progress in 1.14 Apr 11, 2025
@Tepic
Copy link
Contributor

Tepic commented Apr 15, 2025

If part of the code is used in separate application within main(), it works correctly. Nevertheless, if it is built as part of Poco Library, it will always return IA32 (on ARM and AMD architecture).

Image

Thus, it searches its elements in non-existing Path, since CMAKE_SYSTEM_PROCESSOR returns the correct OS architecture.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
2 participants