From 6849256dc978b48f7746d99c8228091f8cceddd0 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Thu, 12 Mar 2026 10:00:45 +0100 Subject: [PATCH 1/3] Enable hwloc and adjust Boost for ARM64 Windows Add hwloc/*:shared=True and set boost/1.90.0 options (header_only=False, without_serialization=False) inside the ARM64 Windows profile block. These changes ensure hwloc is built as shared and tweak Boost configuration to address pagmo2/ARM64 build requirements on Windows. --- profiles/cura.jinja | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/profiles/cura.jinja b/profiles/cura.jinja index 5079169..6d16e96 100644 --- a/profiles/cura.jinja +++ b/profiles/cura.jinja @@ -47,11 +47,15 @@ dulcificum/*:shared=False dulcificum/*:shared=True {% endif %} clipper/*:shared=True +hwloc/*:shared=True {% if platform.system() == 'Windows' and platform.machine() in ['arm64', 'aarch64', 'ARM64'] %} # ARM64 Windows: CPython requires mpdecimal as shared library mpdecimal/*:shared=True # ARM64 Windows: Arcus needs to be shared for proper Python binding arcus/*:shared=True +# boost as dependency of pagmo2 needs to be in header_only and without_serialization to compile on ARM +boost/1.90.0:header_only=False +boost/1.90.0:without_serialization=False # ARM64 Windows: Disable tbbproxy (not available on ARM64 platforms) onetbb/*:tbbproxy=False {% endif %} From 82b2dfb58c8e1838ae97900a864d45ee76e31c6a Mon Sep 17 00:00:00 2001 From: HellAholic Date: Thu, 12 Mar 2026 10:04:37 +0100 Subject: [PATCH 2/3] Clarify boost flags for ARM Windows build Update comment in profiles/cura.jinja to explicitly state that boost/1.90.0 should have header_only and without_serialization set to "False" to build pagmo2 from source on ARM Windows. This clarifies the intended configuration for ARM64 Windows builds. --- profiles/cura.jinja | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/profiles/cura.jinja b/profiles/cura.jinja index 6d16e96..cd8ee5d 100644 --- a/profiles/cura.jinja +++ b/profiles/cura.jinja @@ -53,7 +53,8 @@ hwloc/*:shared=True mpdecimal/*:shared=True # ARM64 Windows: Arcus needs to be shared for proper Python binding arcus/*:shared=True -# boost as dependency of pagmo2 needs to be in header_only and without_serialization to compile on ARM +# boost as dependency of pagmo2 needs to be in header_only "False" and without_serialization "False" to build from source on ARM Windows +# There is also the boost/1.88.0 in use but that one does not require any flags to be set boost/1.90.0:header_only=False boost/1.90.0:without_serialization=False # ARM64 Windows: Disable tbbproxy (not available on ARM64 platforms) From 46673469be6202844324f02b27c5658dc8f3565a Mon Sep 17 00:00:00 2001 From: HellAholic Date: Thu, 12 Mar 2026 11:42:52 +0100 Subject: [PATCH 3/3] Remove incorrect reference pagmo2 no longer a dependency or was never a dependency of Cura. --- profiles/cura.jinja | 4 ---- 1 file changed, 4 deletions(-) diff --git a/profiles/cura.jinja b/profiles/cura.jinja index cd8ee5d..cc3a8dc 100644 --- a/profiles/cura.jinja +++ b/profiles/cura.jinja @@ -53,10 +53,6 @@ hwloc/*:shared=True mpdecimal/*:shared=True # ARM64 Windows: Arcus needs to be shared for proper Python binding arcus/*:shared=True -# boost as dependency of pagmo2 needs to be in header_only "False" and without_serialization "False" to build from source on ARM Windows -# There is also the boost/1.88.0 in use but that one does not require any flags to be set -boost/1.90.0:header_only=False -boost/1.90.0:without_serialization=False # ARM64 Windows: Disable tbbproxy (not available on ARM64 platforms) onetbb/*:tbbproxy=False {% endif %}