Doubt with ROOT and M1 Mac

Hi,

I just started my PhD in Nuclear Physics and I’m thinking about buy a new pc, like the new Mac, but I’m not sure if ROOT actually work for OS11 Big Sur with M1 processor.

All info related to that will help. Thanks!

Vicente.

Hi Vincente,
We already test Big Sur in our continuous integration and we had early access to Apple ARM (M1), so ROOT is definitely supported there. No worries!

cc: @Axel

1 Like

Cool @oshadura ! I will probably buy it soon then.

Is there any special way to install ROOT in Big Sur Apple ARM (M1)? As I don’t see any installation file or tutorial at main ROOT website. I supose that PyROOT is supported too, Am I right?

Thank you very much for your answer!

You might want to check if your institute will be issuing you a machine before you rush to buy one yourself.

Thanks for your answer @beojan . I’m actually using a relatively new Desktop-PC with Linux in my institute but due to the actual covid scenario I have to work from home several days and I don’t have laptop. I don’t think that my institute will buy me a laptop and also I prefer to buy one that belongs to me and that I could use it after finish my PhD.

Anyway I could ask them for a laptop, but I would like to be sure that everything will work properly before suggest them to buy me a Mac.

Vicente.

Hi,
@Axel lets me know that Big Sur and M1 are supported in ROOT v6.22/06 and later, but you will have to build with -Dtbb=OFF because Intel’s TBB still does not work out of the box.

Hope this helps!
Enrico

1 Like

You can install root through miniconda3 or conda3. I have tested it. It runs very well.

A full recipe for any of these would be appreciated. I’m getting an error when building from source about truetype fonts being built for macos-x64 but the target being macos-arm64

I am using the -Dtbb=OFF that is recommended above

The successful recipe I found is as follows:
Install xcode developer tools by running: xcode-select --install
Install the open source miniconda package mambaforge using the macosx-arm64 installer here: https://github.com/conda-forge/miniforge/releases
restart your terminal
Run: conda install root
Done

1 Like

As @Patrick_Dunne said, with xcode terminal tools we can install root through mambaforge with conda package manager and it works perfectly. I actually tested PyROOT and some simple scripts and also work.

Right now im testing the same but using Anaconda, because I want to use Spyder visual interface for some programs with a lot of variables. But it seems that Spyder don’t work very well on new ARM Macs through Anaconda (but it work perfectly when used out of Anaconda, sadly we loose ROOT with spyder, as it is installed as Anaconda package).

Thanks all for your help!

Thanks eguiraud, I have one of these new processors and this error appeared to me when compiling from source. I wonder if the community will have a precompiled version for M1 processors ready to download in near future.

Best regards,
Jose A.

Edit: For me worked cmake -Dimt=OFF -Dbuiltin_tbb=OFF path-to-source inside the build directory, then cmake --build ., everything seems fine. Sourcing thisroot.sh completes the set up.

I’ll write down here the configuration that works for me as update of my last post. Maybe it’s useful for someone that wants to use spyder with PyROOT.

After install mambaforge and root using conda, I installed standalone spyder from here. Once I have mambaforge (with root) and Spyder the way to link them is: Spyder > Preferences > Python Interpreter > Select the following python interpreter: /Users/your_user/mambaforge/bin/python3.9

After that you will have an issue when Spyder open, something about spyder-kernels is missing in your selected python eviroment. Solve that is really easy, just go to Applications Folder on your Mac, find Spyder.app then control+click and show package content, then go to: Contents/Resources/lib/python3.9/ there find “spyder_kernels” folder and copy it to your ~/ (home directory).

Once you have that folder there, just start spyder and it will find by default the kerners that you just set in your home directory. And everything should work perfectly. At least it work for me with MacBook Pro M1 with Big Sur 11.1.

Hope that helps you while we wait for future Anaconda updates. Happy New Year!

Thanks for sharing, @VicenteGT! Happy 2021!

Cheers,
J.

thanks, now I will try to test it!

I had already installed Miniforge3 because I needed some other Python environments and it worked fine so far. However, I tried your way and it doesn’t leave any error message during the installation but if later on I try to run root or import pyroot form there it gives the following error:

input_line_1:1:2: error: module ‘Darwin’ uses additional module map ‘/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach_debug.modulemap’ used when the module was built

#include

^

input_line_1:1:2: note: imported by module ‘std’ in ‘/Users/marcgranadogonzalez/miniforge3/lib/std.pcm’

Warning in cling::IncrementalParser::CheckABICompatibility():

Failed to extract C++ standard library version.

Warning in cling::IncrementalParser::CheckABICompatibility():

Possible C++ standard library mismatch, compiled with _LIBCPP_ABI_VERSION ‘1’

Extraction of runtime standard library version was: ‘’

input_line_2:1:2: fatal error: module file ‘/Users/marcgranadogonzalez/miniforge3/lib/std.pcm’ is out of date and needs to be rebuilt

#include “cling/Interpreter/RuntimeUniverse.h”

^

input_line_2:1:2: note: imported by module ‘Cling_Runtime_Extra’ in ‘/Users/marcgranadogonzalez/miniforge3/lib/Cling_Runtime_Extra.pcm’

input_line_2:1:2: note: imported by module ‘Cling_Runtime’ in ‘/Users/marcgranadogonzalez/miniforge3/lib/Cling_Runtime.pcm’

Replaced symbol atexit cannot be found in JIT!

Replaced symbol at_quick_exit cannot be found in JIT!

<<< cling interactive line includer >>>: fatal error: module file ‘/Users/marcgranadogonzalez/miniforge3/lib/Darwin.pcm’ is out of date and needs to be rebuilt

And then a long list of modules that failed to load. Any tips on that?

Please don’t resurrect old posts. Problem with root on macos: error: module 'Darwin' uses additional module map might help in your case