Hello.
I am using ROOT on a Mac (OS: 14.7 / M3), and I recently encountered an issue where ROOT does not work properly on my system. After some effort, I was able to successfully install ROOT using Homebrew with the following command:
arch -arm64 brew install root.
However, when I compile files in interactive mode, I receive warnings about architecture mismatches, as shown below:
Thanks for the post and welcome to the ROOT Forum.
The architecture should be arm64 everywhere: it could be a problem of brew. Do you see the same for every compiled macro?
Thank you for your reply.
I tried to compile my macro by Makefile as
ROOTLIBS = $(shell root-config --libs)
CXXLIBS = $(ROOTLIBS)
g++ -o test test.o $(CXXLIBS)
and get the same message: ld: warning: ignoring file ‘/opt/homebrew/Cellar/root/6.32.06/lib/root/libNet.so’: found architecture ‘arm64’, required architecture ‘x86_64’
Then I modified the make file as
g++ -arch arm64 -o test test.o $(CXXLIBS)
as suggested by chatGPT, and it works well.
So I guess that the same kind of manner will work for the .L test.C+g command, but I don’t know how to.
The architecture should be arm64 everywhere: it could be a problem of brew.
My brew is installed in /opt/homebrew, which means arm64 is selected for brew, right?
If there are any other things I should look into or try, please let me know.
I suspect that there is something wrong in the way brew sets flags. Could you share the output of root-config --libs? (you used it above to compile the test program)
and also root-config --cflags?