Skip to content
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

Rosetta not installed by default on arm Mac #239

Open
davidanthoff opened this issue Jan 29, 2022 · 4 comments · May be fixed by #272
Open

Rosetta not installed by default on arm Mac #239

davidanthoff opened this issue Jan 29, 2022 · 4 comments · May be fixed by #272
Labels
bug Something isn't working
Milestone

Comments

@davidanthoff
Copy link
Collaborator

Another thing that didn't work out-of-the box on the fresh M1 Mac: by default Rosetta is not installed on Macs, but juliaup at the moment has the x64 build configured as the default for arm macs. So trying to just install Julia and then running results in some sort of not very helpful OS error message. For some reason it does NOT trigger the Rosetta install. Once one manually installs Rosetta, everything works.

Just to be clear: we are installing an aarch64 build of juliaup and the julialauncher at the moment, but the Julia build we are downloading is x64.

I'm tempted to leave this alone for now. I assume for Julia 1.8 the arm builds will move to tier 1 and just work, and we can then make those builds the default that gets installed on M1 macs and this problem just goes away?

CC @staticfloat and @StefanKarpinski

@davidanthoff davidanthoff added the bug Something isn't working label Jan 29, 2022
@staticfloat
Copy link
Sponsor Member

If you have an aarch64 version of juliaup which runs, then if someone tries to install an x64 version of Julia, you should verify that you can run Intel processes, and if you can't prompt the user to install Rosetta 2. E.g. something like try to run arch -x86_64 /bin/bash -c "arch", which says "run x86_64 bash and tell it to print out the current architecture". If it prints out i386, then you know it's running through Rosetta, and all is good. I'm not sure what the failure mode is; perhaps it automatically prompts to install Rosetta? If it doesn't, you can manually prompt to install rosetta via softwareupdate --install-rosetta

@davidanthoff
Copy link
Collaborator Author

I'm tempted to leave as is and not do anything here in the short term, because we are now going to make the aarch64 build the default on M1 once 1.8.0 ships, which doesn't seem that far off.

@fingolfin
Copy link
Contributor

Is there anything to be done here? I think ARM builds are the default for current Julia versions?

Or, put differently: What would be a scenario where this is needed?

I tried but couldn't think of any: all new Julia versions offer ARM binaries anyway. And if the user tries to install e.g. Julia 1.0, wouldn't that still work? I.e. downloading and placing the executable in the right place all don't care about the architecture of the binary. Of course launching it does, but wouldn't macOS just recognize that the user attempted to launch an x86 binary, and in that case offer to install Rosetta, if it isn't already?

What am I missing?

@davidanthoff
Copy link
Collaborator Author

@fingolfin I think the problem is (or at least was when I tried this ages ago) that launching say julia 1.0 did not automatically offer to install Rosetta, but instead there was just an unhelpful error message if it wasn't installed already.

I'm tempted to not do anything about this and just leave it as a corner case. No one has ever complained about this in many years :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants