scikit-hep / root_numpy

The interface between ROOT and NumPy

Home Page:http://scikit-hep.org/root_numpy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

root_numpy doesn't work in subprocess on Mac OS El Capitan

tlikhomanenko opened this issue · comments

Hi!

I have installed ROOT on Mac OS El Capitan using

brew install --HEAD root

(also tried without --HEAD)

After creating virtualenv and installation of necessary libraries I run:

pip install root_numpy

If I do import in subprocess

tmva_process = subprocess.Popen('python -c "import root_numpy" ', 
                stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT,
                shell=True, preexec_fn=os.setsid)

then

 Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/__init__.py", line 1, in <module>
    from ._tree import (
  File "/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_tree.py", line 5, in <module>
    from . import _librootnumpy
ImportError: dlopen(/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so, 2): Library not loaded: @rpath/libCore.so
  Referenced from: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so
  Reason: image not found

More precise:

tmva_process = subprocess.Popen('DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 python -c "import root_numpy" | grep libCore' 
                stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT,
                shell=True, preexec_fn=os.setsid)

then

 dyld: loaded: /System/Library/CoreServices/Encodings/libCyrillicConverter.dylib
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_locale.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/math.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/core/multiarray.so
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/datetime.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/core/umath.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_ctypes.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_struct.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_collections.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/operator.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/itertools.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_heapq.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/cPickle.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/cStringIO.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_functools.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/time.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/grp.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_io.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/binascii.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_hashlib.so
dyld: loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
dyld: loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_random.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/fcntl.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/future_builtins.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/fft/fftpack_lite.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/numpy/random/mtrand.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so
dyld: unloaded: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/__init__.py", line 1, in <module>
    from ._tree import (
  File "/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_tree.py", line 5, in <module>
    from . import _librootnumpy
ImportError: dlopen(/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so, 2): Library not loaded: @rpath/libCore.so
  Referenced from: /Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so
  Reason: image not found

If I run the same procedure with ROOT import, everything is ok and libraries are loaded.

tmva_process = subprocess.Popen('DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 python -c "import ROOT" | grep libCore' 
                stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT,
                shell=True, preexec_fn=os.setsid)

then (note there are /usr/local/Cellar/root/HEAD/lib/root/lib*.so)

dyld: loaded: /System/Library/CoreServices/Encodings/libCyrillicConverter.dylib
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/readline.so
dyld: loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
dyld: loaded: /usr/lib/libncurses.5.4.dylib
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_locale.so
-> dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libPyROOT.so
-> dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libCore.so
-> dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libCint.so
-> dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libRIO.so
-> dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libTree.so
dyld: loaded: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
dyld: loaded: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
dyld: loaded: /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
dyld: loaded: /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
dyld: loaded: /usr/lib/libScreenReader.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
dyld: loaded: /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
dyld: loaded: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
dyld: loaded: /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
dyld: loaded: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
dyld: loaded: /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
dyld: loaded: /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
dyld: loaded: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
dyld: loaded: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
dyld: loaded: /System/Library/Frameworks/Security.framework/Versions/A/Security
dyld: loaded: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
dyld: loaded: /usr/lib/libxml2.2.dylib
dyld: loaded: /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
dyld: loaded: /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
dyld: loaded: /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
dyld: loaded: /usr/lib/liblangid.dylib
dyld: loaded: /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
dyld: loaded: /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
dyld: loaded: /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
dyld: loaded: /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
dyld: loaded: /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
dyld: loaded: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
dyld: loaded: /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
dyld: loaded: /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
dyld: loaded: /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
dyld: loaded: /usr/lib/libextension.dylib
dyld: loaded: /usr/lib/libarchive.2.dylib
dyld: loaded: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
dyld: loaded: /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
dyld: loaded: /usr/lib/libCRFSuite.dylib
dyld: loaded: /usr/lib/libenergytrace.dylib
dyld: loaded: /usr/lib/libbsm.0.dylib
dyld: loaded: /usr/lib/system/libkxld.dylib
dyld: loaded: /usr/lib/libxar.1.dylib
dyld: loaded: /usr/lib/libsqlite3.dylib
dyld: loaded: /usr/lib/libpam.2.dylib
dyld: loaded: /usr/lib/libOpenScriptingUtil.dylib
dyld: loaded: /usr/lib/libbz2.1.0.dylib
dyld: loaded: /usr/lib/liblzma.5.dylib
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
dyld: loaded: /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
dyld: loaded: /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
dyld: loaded: /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
dyld: loaded: /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
dyld: loaded: /usr/lib/libmecabra.dylib
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
dyld: loaded: /System/Library/Frameworks/Metal.framework/Versions/A/Metal
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
dyld: loaded: /System/Library/PrivateFrameworks/GPUCompiler.framework/libmetal_timestamp.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
dyld: loaded: /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
dyld: loaded: /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
dyld: loaded: /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
dyld: loaded: /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
dyld: loaded: /usr/lib/libcups.2.dylib
dyld: loaded: /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
dyld: loaded: /System/Library/Frameworks/GSS.framework/Versions/A/GSS
dyld: loaded: /usr/lib/libresolv.9.dylib
dyld: loaded: /usr/lib/libiconv.2.dylib
dyld: loaded: /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
dyld: loaded: /usr/lib/libheimdal-asn1.dylib
dyld: loaded: /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
dyld: loaded: /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
dyld: loaded: /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
dyld: loaded: /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
dyld: loaded: /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
dyld: loaded: /usr/lib/libmarisa.dylib
dyld: loaded: /usr/lib/libChineseTokenizer.dylib
dyld: loaded: /usr/lib/libcmph.dylib
dyld: loaded: /usr/lib/libcompression.dylib
dyld: loaded: /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
dyld: loaded: /usr/lib/libxslt.1.dylib
dyld: loaded: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
dyld: loaded: /usr/lib/libFosl_dynamic.dylib
dyld: loaded: /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
dyld: loaded: /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
dyld: loaded: /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
dyld: loaded: /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
dyld: loaded: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
dyld: loaded: /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
dyld: loaded: /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
dyld: loaded: /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
dyld: loaded: /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
dyld: loaded: /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
dyld: loaded: /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
dyld: loaded: /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
dyld: loaded: /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
dyld: loaded: /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libThread.so
dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libNet.so
dyld: loaded: /usr/local/Cellar/root/HEAD/lib/root/libMathCore.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/strop.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/itertools.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/operator.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_collections.so
dyld: loaded: /Users/antares/.virtualenvs/rep/lib/python2.7/lib-dynload/_heapq.so

Everything is fine with ROOT and root_numpy without subprocess.

No problem on my linux box running Fedora. Looks like ROOT's libCore.so isn't being found?

Yes, but this happens only for import in the subprocess.

I found the source of the problem.

I checked this:

antares$ otool -L ~/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so
/Users/antares/.virtualenvs/rep/lib/python2.7/site-packages/root_numpy/_librootnumpy.so:
    @rpath/libCore.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libCint.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libRIO.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libNet.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libHist.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libGraf.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libGraf3d.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libGpad.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libTree.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libRint.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libPostscript.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libMatrix.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libPhysics.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libMathCore.so (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libThread.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
    @rpath/libTreePlayer.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)

root_numpy will use a dynamic path to load ROOT libraries. In this case it uses $DYLD_LIBRARY_PATH.

On El Capitan Mac OS $DYLD_LIBRARY_PATH it is not guaranteed to be set in the subprocess: http://dmtn-001.lsst.io/en/master/.

If I put export DYLD_LIBRARY_PATH=path/to/root/ in the subprocess before run python code, then import root_numpy works fine (ugly but seems to solve the problem).

For PyROOT, for example, I have exactly, not dynamic paths:

antares-osx2:~ antares$ otool -L /usr/local/Cellar/root/HEAD/lib/root/libPyROOT.so
/usr/local/Cellar/root/HEAD/lib/root/libPyROOT.so:
    /usr/local/opt/root/lib/root/libPyROOT.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
    /usr/local/Cellar/root/HEAD/lib/root/libCore.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/Cellar/root/HEAD/lib/root/libCint.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/Cellar/root/HEAD/lib/root/libRIO.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/Cellar/root/HEAD/lib/root/libTree.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)

That is why import ROOT works in the subprocess.

@tata-antares - I actually believe you need to source the ROOT scripts when you run the subprocess. EG:

. $(brew --prefix root)/libexec/thisroot.sh

(I use brew) but that sourcing fixes up the path issues. ROOT is always found on my path, but I have to source that to get the libRuby and libPython portions working.

I can do this on my notebook, but I can't use this in python library.

@tata-antares More specific? You can always source the path to thisroot.sh from within a subprocess command. The shell=True isn't always perfect from experience.

This issue can be closed (we added a special hack, which passes DYLD_LIBRARY_PATH to subprocess and sets it before doing anything else).

@arogozhnikov -- that's just a matter of copying over the same environment. You can always ensure it works via something like os.environ.copy().