Problems with ROOT7 after macOS update

Hi,

I’m having problems with ROOT7 after installing the new macOS and Xcode updates. Up until yesterday I was having problems with sdk paths until someone recommended changing the path which I did, but now I’m having problems compiling some code and when I run the make command, I get:

make -j7

[ 1%] Building CXX object UCL/Plotter/CMakeFiles/PlotterBase.dir/PlotterBase.cpp.o

[ 11%] Built target mu3eAnaAccidentals

[ 11%] Built target mu3eAnaBhabhaKinematics

[ 11%] Built target mu3eAnaDarkPhotonNorm

[ 11%] Built target mu3eAnaDarkPhotonNorm_Bhabha

[ 11%] Built target mu3eAnaBhabhaPairAccidentals

In file included from /Users/alexgavin/Project/software/mu3eAna/UCL/Plotter/PlotterBase.cpp:3:

In file included from /Users/alexgavin/Project/software/mu3eAna/UCL/Plotter/PlotterBase.hpp:9:

In file included from /Users/alexgavin/Project/software/install/root/include/TString.h:26:

In file included from /Users/alexgavin/Project/software/install/root/include/Rtypes.h:23:

In file included from /Users/alexgavin/Project/software/install/root/include/RtypesCore.h:23:

/Users/alexgavin/Project/software/install/root/include/ROOT/RConfig.hxx:282:13: fatal error: ‘AvailabilityMacros.h’ file not found

include <AvailabilityMacros.h>

^~~~~~~~~~~~~~~~~~~~~~

[ 18%] Built target mu3eAnaDarkPhoton_Cutscan

[ 18%] Built target mu3eAnaDarkPhoton_Cutscan_IC

[ 18%] Built target mu3eAnaVertexCount

[ 20%] Built target mu3eAnaDarkPhoton_Cutscan_Bhabha

[ 22%] Built target mu3eAnaKunoCutScan

1 error generated.

make[2]: *** [UCL/Plotter/CMakeFiles/PlotterBase.dir/PlotterBase.cpp.o] Error 1

make[1]: *** [UCL/Plotter/CMakeFiles/PlotterBase.dir/all] Error 2

make[1]: *** Waiting for unfinished jobs…

[ 24%] Built target mu3eAnaVertexCountRec

[ 29%] Built target mu3eAnaTargetfinder

[ 30%] Built target mu3eAnaOccupancy

[ 30%] Built target mu3eAnaConversionenergies

[ 80%] Built target sfh

make: *** [all] Error 2

I’ve read some posts on here from people with similar issues and they were recommended to rebuild ROOT from scratch, but I’m a little scared to do this because I’m running code on software that depends on ROOT and Geant4. So, my question is: if I rebuild ROOT7, will it mess up my Geant4 and consequently the software that I’m using that depends on these? I’d really appreciate any suggestions!

Thanks.

_ROOT Version: 7
_Platform: macOS
_Compiler: Apple clang

Also if it helps, I ran a cmake command before this and also get a warning:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX=$MU3EPREFIX/software/install $MU3EPREFIX/software/mu3eAna
CMake Warning at /usr/local/Cellar/cmake/3.28.1/share/cmake/Modules/Platform/Darwin-Initialize.cmake:308 (message):
Ignoring CMAKE_OSX_SYSROOT value:

/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk

because the directory does not exist.
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.28.1/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake:34 (include)
CMakeLists.txt:3 (project)

CMake Deprecation Warning at sfh/sfh/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Configuring done (0.4s)
– Generating done (1.5s)
– Build files have been written to: /Users/alexgavin/Project/software/build/mu3eAna

Dear @Alex_Gavin ,

Since you updated your operating system, I fear your only option is to rebuild from scratch. There are too many changing variables happening during a system upgrade. The cmake warnings you got go in the same direction.

Cheers,
Vincenzo

1 Like

Also, I am not sure whether there is any specific reason for you to build ROOT from scratch. My suggestion would be to try an easier installation method, for example Installing ROOT - ROOT

Cheers,
Vincenzo

1 Like

Hi Vincenzo,

Thanks for your advice. That’s unfortunate, but I thought that’d be the case. Will this mean I have to rebuild Geant4 as well? I’m a bit of a newbie so don’t know how dependent other software is on ROOT installation pathways etc.

Dear @Alex_Gavin ,

I don’t think you need to rebuild Geant4 because of ROOT, once you have the latter working then the first should be able to pick up the libraries available in your environment. But, you might need to rebuild Geant4 because of the OS upgrade, too.

Cheers,
Vincenzo