umd-lhcb / docker-images

Custom dockers images for UMD LHCb group analyses
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

Interactive DST exploration script cannot run #1

Closed yipengsun closed 5 years ago

yipengsun commented 5 years ago

The interactive script from the LHCb starter kit 1 cannot run with docker lhcb-stack-cc7:DaVinci-v42r8p1.

With the following command:

$ lb-run DaVinci/v42r8p1 ipython -i DstInteractive.py ../2012-B2D0MuXB2DMuForTauMuLine/data/00067251_00000042_1.Semileptonic.dst

It produces the following error message:

WARNING:lb-run:MissingDataPackageError: cannot find data package LbEnvFix prod in /home/physicist/cmtuser:/opt/lhcb/lhcb/LBSCRIPTS/LBSCRIPTS_v9r2p6/LbRelease/data/DataPkgEnvs:/opt/lhcb/lhcb/LBSCRIPTS/LBSCRIPTS_v9r2p6/LbUtils/cmake:/home/physicist/cmtuser:/opt/lhcb/lhcb:/opt/lhcb/lcg/releases:/opt/lhcb/lcg/external:/opt/lhcb/lhcb:/opt/lhcb/lcg/releases:/opt/lhcb/lcg/external, not overriding grid middleware
Python 2.7.13 (default, Apr 21 2017, 12:10:32) 
Type "copyright", "credits" or "license" for more information.

IPython 5.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
# setting LC_ALL to "C"
# WARNING: using PyCintex as cppyy implementation
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/data/utils/DstInteractive.py in <module>()
      6 import sys
      7 
----> 8 import GaudiPython as GP
      9 from GaudiConf import IOHelper
     10 from Configurables import DaVinci

/workspace/build/GAUDI/GAUDI_v28r2p1/InstallArea/x86_64-centos7-gcc62-opt/python/GaudiPython/__init__.py in <module>()

/workspace/build/GAUDI/GAUDI_v28r2p1/InstallArea/x86_64-centos7-gcc62-opt/python/GaudiPython/Bindings.py in <module>()

ImportError: No module named PyCintex
yipengsun commented 5 years ago

This turns out to be that the cppyy module (which is a replacement for PyCintex) is not working properly in DaVinci-v42r8p1. We got the following error message when trying to import it in ipython:

In [1]: import cppyy
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-8c2da0b4de3e> in <module>()
----> 1 import cppyy

/opt/lhcb/lcg/releases/LCG_88/ROOT/6.08.06/x86_64-centos7-gcc62-opt/lib/cppyy.py in <module>()
     58       sys.setdlopenflags( 0x100 | 0x2 )    # RTLD_GLOBAL | RTLD_NOW
     59 
---> 60    import libPyROOT as _backend
     61 
     62    # reset dl flags if needed

ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/lhcb/lcg/releases/LCG_88/ROOT/6.08.06/x86_64-centos7-gcc62-opt/lib/libPyROOT.so)

This problem was not present in DaVinci-42r6p1.

yipengsun commented 5 years ago

gcc in the docker image is still 4.8.5. In gcc 4.9, a newer ABI was introduced. Seems that we need to update the gcc to a later version.

yipengsun commented 5 years ago

lxplus is still using SLC6, with an even older version of gcc. Yet we can import cppyy without problem. Now it seems that we need to investigate on EnvFix.

yipengsun commented 5 years ago

I've asked upstream about this. Please refer to https://gitlab.cern.ch/lhcb-core/lbinstall/issues/2 (CERN credential needed).