-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
dcmtk: bump deps #21985
dcmtk: bump deps #21985
Conversation
This comment has been minimized.
This comment has been minimized.
Requires rosetta & `tools.build.cross_building:can_run=True`
recipes/dcmtk/all/conanfile.py
Outdated
if hasattr(self, "settings_build") and cross_building(self) and \ | ||
self.settings.os == "Macos" and self.settings.arch == "x86_64" and not can_run(self): | ||
raise ConanInvalidConfiguration("Cross building to macOS x86_64 is only supported from macOS arm64 using rosetta with 'tools.build.cross_building:can_run=True'") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the new macOS builders in CI using an arm64 build profile to build for x86_64 host, this recipe will now raise a ConanInvalidConfiguration exception.
Will the config be updated with tools.build.cross_building:can_run=True
?
If not, is there a simple workaround recommended ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@uilianries @danimtb Tagging you as you were the most visibly involved with the M2 upgrade.
Can the M2 machines run both armv8
and x86_64
executables? And even if they can run both, should we still probably try to use the armv8
versions of the executables?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And even if they can run both, should we still probably try to use the armv8 versions of the executables?
In this specific instance, there's no armv8
version of the executable as it only there to allow some try_run
calls in the CMake file.
Having tools.build.cross_building:can_run=True
would also mean that tests could run entirely which is not the case anymore for macOS x86_64 builds.
I could add a specific _can_run
property to the recipe in order not to require tools.build.cross_building:can_run=True
if rosetta is available.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can the M2 machines run both armv8 and x86_64 executables? And even if they can run both, should we still probably try to use the armv8 versions of the executables?
Yes, M2 can build and run both amrv8 and x86_64. As M2 can run anything, there is no favorite target when running, when a Mac machine is available, it will run tests or build binaries as needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it will run tests
it won't run any executable built by the tests and protected with if can_run(self):
while it could. That's what I meant by "tests could run entirely which is not the case anymore for macOS x86_64 builds".
This comment has been minimized.
This comment has been minimized.
Hooks produced the following warnings for commit a5cc508dcmtk/3.6.7@#8c982f28ffe05bda5c49f269005c82c4
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The check rosetta support commit seems useless on CCI Jenkins. |
Conan v1 pipeline ✔️All green in build 3 (
Conan v2 pipeline ✔️
All green in build 3 ( |
Closing as superseded by #25997 We've addressed the separate issue of crossbuilding on mac by following the advice in the dcmtk documentation. |
Specify library name and version: dcmtk/all