-
-
Notifications
You must be signed in to change notification settings - Fork 182
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
[BUG] DMG installer on M1 macOS #4229
Comments
Sorry Duncan but we don't officially support M1 in eXist-db yet. This specific component uses the AppBundler project for macOS and as such has native code that would have to be compiled separately for macOS on M1 (assuming AppBundler even supports M1 yet). |
@adamretter this is not about compiling a native version for M1 Macs (which would be nice) but about the fact that exist can't be installed and run via rosetta, which should be supported. exist thinks there is no compatible java version, but there is. |
@duncdrum Okay understood. The problem has the same cause though, i.e. the AppBundler, and whether it support Rosetta on M1 correctly or not. You should start by investigating if such configurations are yet supported correctly by AppBundler, and if not, then please open an issue with them - https://github.com/TheInfiniteKind/appbundler. Once this is supported correctly by AppBundler and they have a release, it is relatively trivial to update the version of AppBundler used by eXist-db. I will leave this open, so we can be reminded that we may need to update to a newer AppBundler depending on your findings. |
well let's start with this one, |
@duncdrum That issue links to a PR from 3 days ago that was merged 2 days ago by the appbundler lead: TheInfiniteKind/appbundler#81. Description of the commit:
I think your observation comes at an opportune moment ;) |
@adamretter I seem to recall that appbundler doesn't publish proper releases. I think you've been publishing them to maven from the evolvedbinary fork, no?
|
@joewiz Indeed, I have been building and publishing versions from their source. However we would need support in AppBundler for Rosetta (which is the issue that Duncan initially asked for), although his link is for native support. So perhaps I think we have two things here to consider:
|
@adamretter i think you might be confusing rosetta with univeral binaries. Rosetta will kick in for any dmg on M1 that doesn't have a specific arm flag. The issue i linked clearly shows that appbundler relied on hardcoded path when looking for JVM, that was arch specific. It now can look in both locations, which means exist build with the new app bundler should run on M1 without the erroneous "can't find JRE" warning. If it ll trigger rosetta at all remains to be seen. It's possible that some extension rely on arch specific paths, but with a M1 compatible JRE, exist runs fine on M1. Obviously having universal binary Check https://hub.docker.com/r/duncdrum/existdb/tags to see exist on arm in action |
I can confirm that both work on M1:
The latter stopped working when I uninstalled some java versions. Maybe reinstalling it now does the trick or we need to find out how |
Reinstalling did not work. |
I remember we had this issue in the past when the path that java was installed to changed. The location where Java runtimes are installed to changed in macOS 12 so I am very much in favour of trying to update to a newer version of appbundler. |
I have also jenv installed and my |
@line-o the paths are described in the appbundler issue linked above. We need an updated maven artefact for appbundler so we can use it properly detects Java for the dmg installs |
@duncdrum have you tried something stupid, like symlinking your current Java installation to the requested path? |
@line-o no I have working docker and local builds. The bug has been addressed upstream, I want to try their fix first, before doing silly dances |
From looking at the fix just symlinking also would not work. |
Describe the bug
Installation via homebrew fails on macOS with M1 chip. Works fine on Intel with an otherwise identical setup. The provided warning about missing java 8 is false, Java 8 is present and
JAVA_HOME
is set correctly. (see below)Expected behavior
Installation should succeed without hiccups.
To Reproduce
brew install exist-db
Screenshots
Context (please always complete the following information):
12.2
6.0.0
1.8.0_322
(zulu)Additional context
The text was updated successfully, but these errors were encountered: