Dear ROOT experts,
I have a CMake project on my mac-os which was able to be compiled and i was able to create custom object in python via the pyROOT bindings until root 6.18.
I recently upgraded ROOT and compiled it from source using v6-22-00-patches
.
When i did this , the code i had successfully compile.
My CMake root-based project “deeply” use the generate_dictionary functionalities to bring my classes into python and to customly load libraries in some MACROS we have.
Then i had a package called kernel for example, which i compile into a library which should be able to be imported and being used inside a python session.
Now, what i see happening is that i can compile the code, the dictionaries are produced properly, however if inside a python session I run
[0] import ROOT as r
[1] r.gSystem.LoadLibraries("libkernel")
[2] e = r.EventType()
where EventType
is supposed to be a class i build and for which a dictionary was generated.
the error i get is the following
In [3]: r.gSystem.Load("kernel/libkernel")
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
Out[3]: 0
In [4]: r.gSystem.Load("kernel/libkernel.dylib")
Out[4]: 1
In [5]: r.EventType()
*** Break *** segmentation violation
[/Users/lpnhe/root_build/lib/libCore.so] TUnixSystem::DispatchSignals(ESignals) (no debug info)
[/usr/lib/system/libsystem_platform.dylib] _sigtramp (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] clang::DeclContext::lookup(clang::DeclarationName) const (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] clang::RecursiveASTVisitor<cling::(anonymous namespace)::StaticVarCollector>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] clang::RecursiveASTVisitor<cling::(anonymous namespace)::StaticVarCollector>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] clang::RecursiveASTVisitor<cling::(anonymous namespace)::StaticVarCollector>::TraverseDecl(clang::Decl*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] clang::RecursiveASTVisitor<cling::(anonymous namespace)::StaticVarCollector>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] cling::DeclUnloader::VisitFunctionDecl(clang::FunctionDecl*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] cling::TransactionUnloader::RevertTransaction(cling::Transaction*) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] cling::Interpreter::unload(cling::Transaction&) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] cling::IncrementalParser::commitTransaction(llvm::PointerIntPair<cling::Transaction*, 2u, cling::IncrementalParser::EParseResult, llvm::PointerLikeTypeTraits<cling::Transaction*>, llvm::PointerIntPairInfo<cling::Transaction*, 2u, llvm::PointerLikeTypeTraits<cling::Transaction*> > >&, bool) (no debug info)
[/Users/lpnhe/root_build/lib/libCling.so] cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) (no debug inf
I can share the reduced code i am using (CMakes and header/source files ) if needed. It’s part of a private code analysis, thus i can send it only via mail.
Thanks in advance,
Renato