Conda root and MacOS 12 - reprise

Hi,

I wanted to resurrect this post from last month

to add that I have just removed and reinstalled ROOT via conda, using the recently released v6.26.0 (as it seemed to be a possible solution, according to Issue with ROOT installed using CONDA · Issue #154 · conda-forge/root-feedstock · GitHub), but I still can’t make it work. Same problem as before.

Let me know in case you needed more details.

Thanks!
Riccardo

1 Like

@chrisburr ping!

In the meanwhile, in case it can unblock you: pre-compiled binaries for MacOS 12 are now available for v6.26. See the instructions at Installing ROOT - ROOT .

Cheers,
Enrico

Switching to an older SDK avoids the issue:

export CONDA_BUILD_SYSROOT=$HOME/MacOSX-SDKs/MacOSX11.3.sdk

Does ROOT do something different at build time when it sees the MacOS 12 SDK?

@Axel would know

Actually it seems related to the module maps wanting to be rebuilt thogh knowing what to do about that is a bit out of my depth.

> CONDA_BUILD_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/ root
   ------------------------------------------------------------------
  | Welcome to ROOT 6.26/00                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for macosx64 on Mar 05 2022, 12:14:00                      |
  | From tag , 3 March 2022                                          |
  | With                                                             |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------
$ CONDA_BUILD_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX12.0.sdk root
input_line_1:1:2: error: module 'Darwin' uses additional module map '/Library/Developer/CommandLineTools/SDKs/MacOSX12.0.sdk/usr/include/darwin_posix_sys_types.modulemap' used when the module was built
#include <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/Users/cburr/mambaforge/envs/pyroo/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/cburr/mambaforge/envs/pyroo/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/cburr/mambaforge/envs/pyroo/lib/Cling_Runtime_Extra.pcm'
input_line_2:1:2: note: imported by module 'Cling_Runtime' in '/Users/cburr/mambaforge/envs/pyroo/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/cburr/mambaforge/envs/pyroo/lib/Darwin.pcm' is out of date and needs to be rebuilt

@vvassilev anything we can do to help clang’s modules wrt the module map (or whatever it is that makes it trip)?

I need to reproduce it and debug. Is there a way to reproduce that failure easily?

I am also getting the same error when trying to run a conda installation of ROOT on my Intel Mac:

  • Architecture: x86_64
  • OS: macOS 12.2.1
  • Command Line Tools: 13.2.0
  • ROOT: 6.26.0 (conda-forge/osx-64::root-6.26.0-py310h532db78_0)
Error Message
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 <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/usr/local/Caskroom/miniforge/base/envs/pyroot/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 '/usr/local/Caskroom/miniforge/base/envs/pyroot/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 '/usr/local/Caskroom/miniforge/base/envs/pyroot/lib/Cling_Runtime_Extra.pcm'
input_line_2:1:2: note: imported by module 'Cling_Runtime' in '/usr/local/Caskroom/miniforge/base/envs/pyroot/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 '/usr/local/Caskroom/miniforge/base/envs/pyroot/lib/Darwin.pcm' is out of date and needs to be rebuilt
Failed to load module Darwin
Failed to load module std
Failed to load module _Builtin_intrinsics
Failed to load module ROOT_Foundation_C
Failed to load module ROOT_Config
Failed to load module ROOT_Rtypes
Failed to load module ROOT_Foundation_Stage1_NoRTTI
Failed to load module Core
Failed to load module Rint
Failed to load module RIO
Failed to load module MathCore
Failed to load module Hist
Failed to load module Darwin
Failed to load module Unfold
Failed to load module Imt
Failed to load module HistPainter
Failed to load module PyMVA
Failed to load module RHTTPSniff
Failed to load module RDAVIX
Failed to load module RHTTP
Failed to load module FitPanel
Failed to load module ROOTVecOps
Failed to load module ProofDraw
Failed to load module ROOTBrowsable
Failed to load module Quadp
Failed to load module ROOT_Foundation_Stage1_NoRTTI
Failed to load module GeomPainter
Failed to load module Genetic
Failed to load module Eve
Failed to load module TreeViewer
Failed to load module Physics
Failed to load module ROOTNTuple
Failed to load module EG
Failed to load module Tree
Failed to load module HistFactory
Failed to load module Spectrum
Failed to load module Matrix
Failed to load module Html
Failed to load module Hist
Failed to load module GuiHtml
Failed to load module _Builtin_intrinsics
Failed to load module Gpad
Failed to load module TMVAGui
Failed to load module ROOTEve
Failed to load module Fumili
Failed to load module Net
Failed to load module RGL
Failed to load module Geom
Failed to load module Postscript
Failed to load module GCocoa
Failed to load module ROOTGpadv7
Failed to load module RCsg
Failed to load module Cling_Runtime
Failed to load module SPlot
Failed to load module EGPythia8
Failed to load module GeomBuilder
Failed to load module RooFit
Failed to load module ROOT_Config
Failed to load module RooFitMore
Failed to load module Rint
Failed to load module XMLParser
Failed to load module MultiProc
Failed to load module RooStats
Failed to load module Proof
Failed to load module RooFitRDataFrameHelpers
Failed to load module FITSIO
Failed to load module Ged
Failed to load module Recorder
Failed to load module FFTW
Failed to load module GuiBld
Failed to load module Vc
Failed to load module ROOTWebDisplay
Failed to load module RooFitCore
Failed to load module Gui
Failed to load module SQLIO
Failed to load module XMLIO
Failed to load module ROOT_Rtypes
Failed to load module std
Failed to load module ROOTHistDraw
Failed to load module RIO
Failed to load module ProofPlayer
Failed to load module ROOTTMVASofie
Failed to load module ASImage
Failed to load module ROOT_Foundation_C
Failed to load module MathMore
Failed to load module RooFitHS3
Failed to load module Foam
Failed to load module RSQLite
Failed to load module SpectrumPainter
Failed to load module Minuit2
Failed to load module Core
Failed to load module MLP
Failed to load module ROOTDataFrame
Failed to load module GenVector
Failed to load module NetxNG
Failed to load module ROOTBrowserv7
Failed to load module Minuit
Failed to load module RootAuth
Failed to load module Graf3d
Failed to load module TMVA
Failed to load module ASImageGui
Failed to load module Graf
Failed to load module Gdml
Failed to load module ProofBench
Failed to load module Cling_Runtime_Extra
Failed to load module MathCore
Failed to load module Gviz3d
Failed to load module WebGui6
Failed to load module ROOTTPython
Failed to load module ROOTHist
Failed to load module TreePlayer
Failed to load module ROOTGraphicsPrimitives
Failed to load module Gviz
Failed to load module ROOTFitPanelv7
Failed to load module Smatrix
Failed to load module SessionViewer
Failed to load module Thread
Assertion failed: (clingInterp.getMacro("gROOT") && "Couldn't load gROOT macro?"), function RegisterCxxModules, file /Users/runner/miniforge3/conda-bld/root_base_1646481339302/work/root-source/core/metacling/src/TCling.cxx, line 1320.

@vvassilev Here is a repro to help debug the error:

conda create -c conda-forge --name pyroot root
conda activate pyroot
root

Let me know if you require any further information from me.

Thanks for the help!


For anyone else running into similar issues, here are a couple of workarounds until the above is fixed:

  1. As @chrisburr mentions, the above error can be mitigated by modifying the CONDA_BUILD_SYSROOT variable as follows before running ROOT:
    export CONDA_BUILD_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/
    
  2. The Hombrew installation of ROOT 6.26.0 works on macOS 12.2.1, and can be used in a conda environment by appropriately modifying PYTHONPATH similar to this:
    export PYTHONPATH="/usr/local/Cellar/root/6.26.00/lib/root:$PYTHONPATH"
    

The Hombrew installation of ROOT 6.26.0 works on macOS 12.2.1, and can be used in a conda environment by appropriately modifying PYTHONPATH.

Be careful doing this. If you’re lucky it will work but it can also fail in all sorts of subtle/bizzare/unfixable ways.

Okay, thanks for the heads up!

@stipnis was quicker to provide the information to reproduce the problem, thanks

I have the exact same setup: same MacOS version, command line tools version as well as ROOT version. I am using conda 4.11.0.

@chrisburr I am not able to fully understand what CONDA_BUILD_SYSROOT is used for. Until this issue is resolved, can you see any problem with including

export CONDA_BUILD_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/

in ${HOME}/.bashrc? Will this have any (negative) impact on other conda packages/environments?

@stipnis I’d be very surprised if it caused any issues (most conda-forge packages build against the 10.9 SDK)

:+1:t4:

It looks like I am getting a similar error on an M1 Mac:

  • Architecture: arm64
  • OS: macOS 12.3
  • Command Line Tools: 13.3.0.0.1.1645755326 *
  • conda: 4.12.0
  • ROOT: 6.26.0 (conda-forge/osx-arm64::root-6.26.0-py39hbe18b87_0)

* this info retrieved via running pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

Error Message
input_line_1:1:2: error: module 'Darwin' uses additional module map '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/darwin_posix_sys_types.modulemap' used when the module was built
#include <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/Users/jan/opt/miniconda3/envs/pyroot/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/jan/opt/miniconda3/envs/pyroot/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/jan/opt/miniconda3/envs/pyroot/lib/Cling_Runtime_Extra.pcm'
input_line_2:1:2: note: imported by module 'Cling_Runtime' in '/Users/jan/opt/miniconda3/envs/pyroot/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/jan/opt/miniconda3/envs/pyroot/lib/Darwin.pcm' is out of date and needs to be rebuilt
Failed to load module Darwin
Failed to load module std
Failed to load module _Builtin_intrinsics
Failed to load module ROOT_Foundation_C
Failed to load module ROOT_Config
Failed to load module ROOT_Rtypes
Failed to load module ROOT_Foundation_Stage1_NoRTTI
Failed to load module Core
Failed to load module Rint
Failed to load module RIO
Failed to load module MathCore
Failed to load module Hist
Failed to load module Darwin
Failed to load module Unfold
Failed to load module Imt
Failed to load module HistPainter
Failed to load module PyMVA
Failed to load module RHTTPSniff
Failed to load module RDAVIX
Failed to load module RHTTP
Failed to load module FitPanel
Failed to load module ROOTVecOps
Failed to load module ProofDraw
Failed to load module ROOTBrowsable
Failed to load module Quadp
Failed to load module ROOT_Foundation_Stage1_NoRTTI
Failed to load module GeomPainter
Failed to load module Genetic
Failed to load module Eve
Failed to load module TreeViewer
Failed to load module Physics
Failed to load module ROOTNTuple
Failed to load module EG
Failed to load module Tree
Failed to load module HistFactory
Failed to load module Spectrum
Failed to load module Matrix
Failed to load module Html
Failed to load module Hist
Failed to load module GuiHtml
Failed to load module _Builtin_intrinsics
Failed to load module Gpad
Failed to load module TMVAGui
Failed to load module ROOTEve
Failed to load module Fumili
Failed to load module Net
Failed to load module RGL
Failed to load module Geom
Failed to load module Postscript
Failed to load module GCocoa
Failed to load module ROOTGpadv7
Failed to load module RCsg
Failed to load module Cling_Runtime
Failed to load module SPlot
Failed to load module EGPythia8
Failed to load module GeomBuilder
Failed to load module RooFit
Failed to load module ROOT_Config
Failed to load module RooFitMore
Failed to load module Rint
Failed to load module XMLParser
Failed to load module MultiProc
Failed to load module RooStats
Failed to load module Proof
Failed to load module RooFitRDataFrameHelpers
Failed to load module FITSIO
Failed to load module Ged
Failed to load module Recorder
Failed to load module FFTW
Failed to load module GuiBld
Failed to load module Vc
Failed to load module ROOTWebDisplay
Failed to load module RooFitCore
Failed to load module Gui
Failed to load module SQLIO
Failed to load module XMLIO
Failed to load module ROOT_Rtypes
Failed to load module std
Failed to load module ROOTHistDraw
Failed to load module RIO
Failed to load module ProofPlayer
Failed to load module ROOTTMVASofie
Failed to load module ASImage
Failed to load module ROOT_Foundation_C
Failed to load module MathMore
Failed to load module RooFitHS3
Failed to load module Foam
Failed to load module RSQLite
Failed to load module SpectrumPainter
Failed to load module Minuit2
Failed to load module Core
Failed to load module MLP
Failed to load module ROOTDataFrame
Failed to load module GenVector
Failed to load module NetxNG
Failed to load module ROOTBrowserv7
Failed to load module Minuit
Failed to load module RootAuth
Failed to load module Graf3d
Failed to load module TMVA
Failed to load module ASImageGui
Failed to load module Graf
Failed to load module Gdml
Failed to load module ProofBench
Failed to load module Cling_Runtime_Extra
Failed to load module MathCore
Failed to load module Gviz3d
Failed to load module WebGui6
Failed to load module ROOTTPython
Failed to load module ROOTHist
Failed to load module TreePlayer
Failed to load module ROOTGraphicsPrimitives
Failed to load module Gviz
Failed to load module ROOTFitPanelv7
Failed to load module Smatrix
Failed to load module SessionViewer
Failed to load module Thread
Assertion failed: (clingInterp.getMacro("gROOT") && "Couldn't load gROOT macro?"), function RegisterCxxModules, file /tmp/root-feedstock/miniforge3/conda-bld/root_base_1646481430950/work/root-source/core/metacling/src/TCling.cxx, line 1320.

Reproducing the bug:

conda create -n pyroot -c conda-forge python=3.9 root
conda activate pyroot
root

On top of the suggestions for temporary workarounds provided by @stipnis , one can of course build ROOT from source, so as to use PyROOT with your conda Python install etc. . (Perhaps this isn’t the most elegant solution, especially if you want to make a fully-contained, shareable conda environment!)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.