-
-
Notifications
You must be signed in to change notification settings - Fork 2.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
Support for Apple Silicon (macOS on ARM) #7175
Comments
Thanks for the question, it has not yet been discussed. I agree that this would be a nice thing to have. JabRef depends both on the JDK version and javafx (openfjx) When all those issues are fixed, you should be able to compile JabRef yourself and run it natively. |
There recently has been some work to build the javafx media libs and webkit libs for Apple Silicon, so it might be read with the next openjfx release. |
Any update on this issue? Thanks in advance |
Yes it should be working now, but I am unsure if it needs to be built in a special way. You probably need to build JabRef from code on M1. I am not sure if the jpackage on Github CI build can get the right version |
Thanks. Is there documentation to follow regarding how to build it on macOS? |
To build the current version on Mac, you can just need JDK 17 https://adoptium.net/releases.html probably the aarch64 and Gradle. |
@Siedlerchr Thank you sooo much! The about info shows
I guess I'll stick with version 100 before the official releases include arm builds 😄 |
@Siedlerchr By the way, I'm happy to contribute my build to Development Builds if that's useful or helpful. |
@astroboylrx it would be great if you can share your builds. |
Sure, I created a repo and shared my builds in the Releases. |
@astroboylrx Cool! Thanks. The only thing is that during our Github actions build we inject some token secrets for some fetchers. |
I see. Thanks for the info! The main fetcher I'm using to add a new entry is "SAO/NASA ADS", "DOI", and "ArXiv", which all seem to be okay so far. I guess for those who need to use some specific fetchers, they may need to stick to the official builds to search for papers. Emmm, I know the new API of SAO/NASA ADS requires a token and I've used that... |
We have some for testing in the repo and some secrets are injected into the build info. jabref/.github/workflows/deployment.yml Lines 22 to 24 in ee88e7f
|
Thanks indeed! I tried it a little bit and it seems really smoother! |
|
Any updates on this? The .app I managed to build with |
@mbrdl Hi, unfortunately Github still does not offer ARM VMs for building on CI and I neither have an ARM machine. But mabye soon. |
Good news at all, as I now have an M1 machine I was able to build the release packages for arm64 as well. |
Any developments on how to get JabRef running on an M1? I managed to get it working on my desktop by installing it via brew, but no luck on my laptop. |
@krantisaran The latest release is avaiable for m1 as well. works out of the box. We just had problems with the apple notraizatioh stuff, so ou have to execute |
@Siedlerchr Thanks so much! We had a prior exchange on twitter but when I tried what you advised then I got an error message. Just installed jabref via brew and ran the command you mentioned and now it's working!! Thanks so much -- I've been stuck for months. |
Has anything changed for the compile procedure?
|
Jdk 19 is sufficient. Just use a gradlew clean before. Then it should work |
Notarization works again. Please wait for a release. |
Fixed by #10095 |
Sorry to ask, but I installed JDK17 according to this illustration, trying to fix the issue of "JabRef runs and responds slowly on M1/M2". However, I cannot run "./gradlew run"
May I ask what I should to do to fix it or adjust so that JabRef could respond more timely, please? Thanks |
That post is a little out of date. JabRef currently requires jdk 20 and for the next release, very likely a customized jdk 21 will be used that fixes "method too large" issues. So first install jdk20 and then try to use ./gradlew run or simply try the JabRef-5.10.dmg file from https://builds.jabref.org/main/, that I assume to also work for M1 now? - Is this correct @Siedlerchr?. Since this is a development version, please make sure to have a backup of your configuration/library file. |
You can use this version https://builds.jabref.org/renameArm64/ (development version from a couple of days ago) |
Thank you so much! It seems work well now after re-installing jdk 20 and jabref-5.10 [~]$ java -version
openjdk version "20.0.2" 2023-07-18
OpenJDK Runtime Environment Temurin-20.0.2+9 (build 20.0.2+9)
OpenJDK 64-Bit Server VM Temurin-20.0.2+9 (build 20.0.2+9, mixed mode)
[~]$ ./gradlew run
zsh: no such file or directory: ./gradlew |
Will be part of the next release. Development builds available at https://builds.jabref.org/main/. |
Apologies if this has already been discussed -- I have searched on both GitHub issues and Discourse but may have missed it.
Are there plans to provide macOS builds targeting Apple Silicon/M1/ARM64? What (if any) are the barriers to such builds being released, and is there anything that can be done to help with this?
JabRef appears functional under Rosetta 2, but native release would be optimal for both performance and efficiency. Is this a matter of bundling a JRE that doesn't rely on Rosetta 2?
Thanks,
Joe
The text was updated successfully, but these errors were encountered: