-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
By default compile as universal2 for macOS #2221
Conversation
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.
@kabeor Could you please trigger the workflows.
Realized that for the bindings it was still relying on makefile build, so it wasn't taking the universal version. Used the same code path as windows to invoke cmake (is there value in keeping the makefile based version anymore?) |
Not really. It's considered deprecated and its easy to forget about it. The Python bindings need to be reworked anyways to get rid of the old stuff. But there is a lot to modernize and module updates + testing is currently higher on the list (at least for us Rizin folks). |
Note, once it's green, it would be good to cherry-pick to the 5.0.x series: #2081 |
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.
Building C extensions
PWD: /Users/runner/work/capstone/capstone/build
CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
No such file or directory
CMake Error: Generator: execution of make failed. Make command was:
error: [Errno 2] No such file or directory: 'libcapstone.5.dylib'
----------------------------------------
ERROR: Failed building wheel for capstone
e336eda
to
9201394
Compare
I amended to resolve some of the issues (format strings are python3, and Ninja wasn't strictly needed as unix makefiles is fine), guess it needs a re-trigger? |
Options were adding Ninja to build host or switching cmake to unix makefiles, so using unix makefiles |
@kabeor please trigger workflows. |
Red CI looks like a network problem. It probably makes sense to restart. |
@kabeor please restart failed jobs one more time - I think it will be green. |
LGTM, but plz resolve the conflicts:) |
@kabeor I wonder if you can solve conflicts yourself, this is major problem for many macOS users, would be nice to get this merged sooner than later. |
Looks like PyPI is again failing for network reasons, merge of conflicts is complete |
@kabeor please merge this one |
Thank you! |
Any chance you're gonna release a pre / 5.X with this? I'd love to be able to use capstone on M1's soon |
Actually a early pre-release was planned. @kabeor Is there something missing for it? |
@Rot127 should be ready, will release after changing some version things |
Will this be a 5.0.2 or a 6.0pre? |
The pre-release will be 6.0pre. Because so much stuff changed, we want some kind of beta version. |
A couple months have passed. Is a pre-release still planned? |
Pre-release is still planned. Also the 5.0.2 release. Please be patient, I was recently added as maintainer to support, but it will take a little longer. |
Currently the python bindings for universal2 in fact ship only the x64 version of
libcapstone.dylib
causing it to fail to load in arm64 python environments. This fix makes building oflibcapstone.a
andlibcapstone.dylib
universal2 (fat) by default with an option to disable if need be. This should fix the issue with python bindings as well as generally make capstone more pleasant for M1/2/3 users