-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
Add support for Apple Silicon to RocksJava #9254
Conversation
Thanks! Would you be up for adding a CircleCI build (.circleci/config.yaml) for building the universal binary target? (I'm assuming you can build arm on x86, and assuming we only have x86 Macs available in CircleCI.) |
@etherond Thanks for this. Before we merge it, I just want to understand how this effects the current builds that we produce for RocksJava releases. I am a bit concerned about removing the existing calls to I am not opposed to having a Universal Binary target. However for releases I would ideally like to build by default separate dedicated macOS libs for x86 and Arm M1 and load them depending on the platform - just as we do for different Linux architectures. Does that sound reasonable? |
8983899
to
f7de8ac
Compare
can we please have this merged :), would love to see some performance out of intelij, java on arm :P |
adf5b3e
to
b0bf7a6
Compare
Hey guys, sorry it took some time but here is the PR updated with your feedback:
A few things to note:
|
This sure would be a nice Christmas present to all of us M1 folks. Just sayin. 🎄 |
f75c4c5
to
ee83056
Compare
Updated Makefile with flags to define target architecture when compiling/linking, and added goal `rocksdbjavastaticosxub` to build a OS X Universal Binary native library.
@pdillinger Unfortunately this has broken the ability to create release builds of RocksJava. The release process used to be as simple as running Unfortunately there are now no Jar files generated for macOS and there are no javadoc or sources jar files generated either. I am investigating... |
First problem I have is that The x86_64 bit works as before, but when you reach the cross-compiling of the M1 binaries then you get the errors below.
Relevant Make output is:
At a bit of a guess, it looks to me that:
is activated in Whilst this appears to be passing in CI - https://app.circleci.com/pipelines/github/facebook/rocksdb/12065/workflows/1072da36-c82f-46c1-ba16-a8b067a5d0ca/jobs/316046?invite=true#step-108-1418 This is because CI does not have AVX2 support, and so this compilation code path is not tested in CI. |
Summary: Addresses the problems described in #9254 (comment) and #9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: #9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in #9254 (comment) and #9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: #9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook#9254 (comment) and facebook#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook#9254 (comment) and facebook#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in #9254 (comment) and #9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: #9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Fixes facebook#7720 Updated Makefile with flags to define target architecture when compiling/linking, and added goal `rocksdbjavastaticosxub` to build a OS X Universal Binary native library. Pull Request resolved: facebook#9254 Reviewed By: mrambacher Differential Revision: D33551160 Pulled By: pdillinger fbshipit-source-id: 9ce9962e03aacf55014545a6cdf638b5b14b8fa9
Summary: Addresses the problems described in facebook#9254 (comment) and facebook#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Fixes facebook/rocksdb#7720 Updated Makefile with flags to define target architecture when compiling/linking, and added goal `rocksdbjavastaticosxub` to build a OS X Universal Binary native library. Pull Request resolved: facebook/rocksdb#9254 Reviewed By: mrambacher Differential Revision: D33551160 Pulled By: pdillinger fbshipit-source-id: 9ce9962e03aacf55014545a6cdf638b5b14b8fa9
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Fixes facebook/rocksdb#7720 Updated Makefile with flags to define target architecture when compiling/linking, and added goal `rocksdbjavastaticosxub` to build a OS X Universal Binary native library. Pull Request resolved: facebook/rocksdb#9254 Reviewed By: mrambacher Differential Revision: D33551160 Pulled By: pdillinger fbshipit-source-id: 9ce9962e03aacf55014545a6cdf638b5b14b8fa9
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Summary: Fixes facebook/rocksdb#7720 Updated Makefile with flags to define target architecture when compiling/linking, and added goal `rocksdbjavastaticosxub` to build a OS X Universal Binary native library. Pull Request resolved: facebook/rocksdb#9254 Reviewed By: mrambacher Differential Revision: D33551160 Pulled By: pdillinger fbshipit-source-id: 9ce9962e03aacf55014545a6cdf638b5b14b8fa9
Summary: Addresses the problems described in facebook/rocksdb#9254 (comment) and facebook/rocksdb#9254 (comment) that have blocked a RocksJava release **NOTE** Also needs to be ported to 6.29.fb branch. Pull Request resolved: facebook/rocksdb#9662 Reviewed By: ajkr Differential Revision: D34689200 Pulled By: pdillinger fbshipit-source-id: c62fe34c54f05be5a00ee1daec8ec7454baa5eb8
Fixes #7720
Updated Makefile with flags to define target architecture when compiling/linking,
and added goal
rocksdbjavastaticosxub
to build a OS X Universal Binary native library.