It seems that removing the src that were used to build Cicada breaks the ROOT import.
For example, if under /cvmfs/hep.pnnl.gov/project8/mermithid/current/, when src is still present, loading the Cicada libraries is doing fine.
But if I remove them (as below), then things break.
I guess ROOT still looks for its headers somehow and will use the one in src, instead of using the one that got copied into /cvmfs/hep.pnnl.gov/project8/mermithid/current/include...
Not sure about the fix we should do, other than not removing src (but this is bad practice I guess...)
For this reason the src is not removed in cvmfs-katydid and maybe shouldn't for mermithid too...
➜ cvmfs-dependencies-mermithid git:(master) ✗ docker run -it cvmfs-mermithid bash
[root@cb49d4769b3f /]# source /cvmfs/hep.pnnl.gov/project8/mermithid/current/setup.sh
[root@cb49d4769b3f /]# ls /cvmfs/hep.pnnl.gov/project8/mermithid/current/src/
mermithid wget_log.txt
[root@cb49d4769b3f /]# source /cvmfs/hep.pnnl.gov/project8/mermithid/current/setup.sh
[root@cb49d4769b3f /]# python3
Python 3.6.4 (default, Apr 13 2018, 01:02:19)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import CicadaPu
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'CicadaPu'
>>> import CicadaPy
Cic>>> CicadaPy.loadLibraries()
_ __
_____(_)________ _____/ /___ _
/ ___/ / ___/ __ `/ __ / __ `/
/ /__/ / /__/ /_/ / /_/ / /_/ /
\___/_/\___/\__,_/\__,_/\__,_/
2018-04-18T02:08:26[DEBUG ] CicadaPy(46) -> Import libraries...
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libCicada_Mermithid.so
RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby
Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
All rights reserved, please read http://roofit.sourceforge.net/license.txt
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libPdfFactory.so
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libKryptonPdf.so
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libTritiumPdf.so
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libyaml-cpp.so
2018-04-18T02:08:26[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libScarab_Cicada_Mermithid.so
2018-04-18T02:08:26[INFO ] CicadaPy(54) -> All set!
>>> from ROOT import Katydid
>>> Katydid.TProcessedTrackData()
<ROOT.Katydid::TProcessedTrackData object ("Katydid::TProcessedTrackData") at 0x2cc8d40>
>>> exit()
[root@cb49d4769b3f /]# rm -rf /cvmfs/hep.pnnl.gov/project8/mermithid/current/src/
[root@cb49d4769b3f /]# python3
Python 3.6.4 (default, Apr 13 2018, 01:02:19)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import CicadaPy
>>> CicadaPy.loadLibraries()
_ __
_____(_)________ _____/ /___ _
/ ___/ / ___/ __ `/ __ / __ `/
/ /__/ / /__/ /_/ / /_/ / /_/ /
\___/_/\___/\__,_/\__,_/\__,_/
2018-04-18T02:08:45[DEBUG ] CicadaPy(46) -> Import libraries...
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libCicada_Mermithid.so
RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby
Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
All rights reserved, please read http://roofit.sourceforge.net/license.txt
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/CClassifierResultsData.hh
requested to autoload type Cicada::TClassifierResultsData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/CMTEWithClassifierResultsData.hh
requested to autoload type Cicada::TProcessedTrackData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/CMTEWithClassifierResultsData.hh
requested to autoload type Cicada::TMultiTrackEventData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/CMTEWithClassifierResultsData.hh
requested to autoload type Cicada::TMTEWithClassifierResultsData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/CProcessedMPTData.hh
requested to autoload type Cicada::TProcessedMPTData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/KTROOTData.hh
requested to autoload type Katydid::TProcessedTrackData
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Cicada/Library/KTROOTData.hh
requested to autoload type Katydid::TMultiTrackEventData
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libPdfFactory.so
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Phylloxera/src/PdfFactory/PdfFactory.hh
requested to autoload type PdfFactory
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libKryptonPdf.so
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Phylloxera/src/KryptonPdf/AsymmetricKryptonLine.hh
requested to autoload type AsymmetricKryptonLine
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Phylloxera/src/KryptonPdf/KryptonLine.hh
requested to autoload type KryptonLine
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libTritiumPdf.so
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Phylloxera/src/TritiumPdf/RealTritiumSpectrum.hh
requested to autoload type RealTritiumSpectrum
Error in cling::AutoloadingVisitor::InsertIntoAutoloadingState:
Missing FileEntry for /cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/src/mermithid/Phylloxera/src/TritiumPdf/SimpleTritiumSpectrum.hh
requested to autoload type SimpleTritiumSpectrum
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libyaml-cpp.so
2018-04-18T02:08:45[DEBUG ] CicadaPy(51) -> ->/cvmfs/hep.pnnl.gov/project8/mermithid/v0.0.1/lib/libScarab_Cicada_Mermithid.so
2018-04-18T02:08:45[INFO ] CicadaPy(54) -> All set!
It seems that removing the src that were used to build Cicada breaks the ROOT import. For example, if under /cvmfs/hep.pnnl.gov/project8/mermithid/current/, when src is still present, loading the Cicada libraries is doing fine. But if I remove them (as below), then things break.
I guess ROOT still looks for its headers somehow and will use the one in src, instead of using the one that got copied into
/cvmfs/hep.pnnl.gov/project8/mermithid/current/include
... Not sure about the fix we should do, other than not removing src (but this is bad practice I guess...)For this reason the src is not removed in cvmfs-katydid and maybe shouldn't for mermithid too...