-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
apple silicon arm #3115
base: master
Are you sure you want to change the base?
apple silicon arm #3115
Conversation
@@ -17,6 +17,7 @@ apply plugin: 'c' | |||
model { | |||
components { | |||
main(NativeExecutableSpec) { | |||
targetPlatform "osx_x86-64" |
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.
Is this also a TODO? I'm not expert with Gradle, but does this sett the target platform regardless of what the current platform is?
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.
I don't know much about gradle either. all the Gradle docs state is "Specifies the names of one or more [Flavor] that this component should be built for."
I think this forces the build to x86 vs ARM so that it runs Azkaban in rosetta mode on ARM / apple silicon.
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.
I now see it only applies to a "c" utility in az-exec-util
. I think it just makes the utility written in C build for x86, so the util will run in rosetta mode on ARM.
There may be a way to get that utility written in C to work on ARM, but that was beyond the scope of what I was able to pull together for this PR.
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.
Thanks. I was wondering what happens on other than osx platforms. Seems that this doesn't ruin it for them, at least the Travis build seems to have succeeded past the point of building az-exec-util
.
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.
you are welcome to fork this and create a different MR if you can get everything else to work. I just put this MR here for posterity for anyone else having apple silicon / ARM issues.
Here is a working example of the Azkaban source / Gradle / node working with Apple Silicon M1 (ARM architecture)
prerequisite
You must install the ARM versions of the Java JDK as well as the Java JDX FX.
This was tested by installing JDK 1.8 and JDK FX 1.8 for MacOS ARM from Azul:
https://www.azul.com/downloads/?package=jdk
az-exec-util
TODO
remove commented out build scan, or replace with a build scan that works (the build file could use some comments as to what the build scan tool is being used for)