You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error in <TClingCallFunc::make_ctor_wrapper>: Failed to compile
==== SOURCE BEGIN ====
__attribute__((used)) extern "C" void __ctor_0(void** ret, void* arena, unsigned long nary)
{
if (!arena) {
if (!nary) {
*ret = new THnSparseT<TArrayL>;
}
else {
*ret = new THnSparseT<TArrayL>[nary];
}
}
else {
if (!nary) {
*ret = new (arena) THnSparseT<TArrayL>;
}
else {
*ret = new (arena) THnSparseT<TArrayL>[nary];
}
}
}
==== SOURCE END ====
Error in <TClingCallFunc::ExecDefaultConstructor>: Called with no wrapper, not implemented!
Error in <TClingClassInfo::New()>: Call of default constructor failed to return an object for class: THnSparseT<TArrayL>
Error in <TClass::New>: cannot create object of class THnSparseT<TArrayL>
Error in <TKey::ReadObj>: Cannot create new object of class THnSparseT<TArrayL>
IncrementalExecutor::executeFunction: symbol '_ZN10THnSparseTI7TArrayLE5ClassEv' unresolved while linking [cling interface function]!
You are probably missing the definition of THnSparseT<TArrayL>::Class()
Maybe you need to load the corresponding shared library?
IncrementalExecutor::executeFunction: symbol '_ZN10THnSparseTI7TArrayLE8StreamerER7TBuffer' unresolved while linking [cling interface function]!
You are probably missing the definition of THnSparseT<TArrayL>::Streamer(TBuffer&)
Maybe you need to load the corresponding shared library?
ROOT version
ROOT 6.32.00 upwards.
Additional context
Thanks do @philippe554 for catching this! This issue is important for project HighLO because we're using THnSparseL as a container for reduced data.
The text was updated successfully, but these errors were encountered:
Note: THnSparseT<TArrayL> was removed because its underlying type (long)'s size depends on the platforms (32 vs 64 bits).
However, it would have been much to either leave it as is or mark it as deprecated.
We need to fix this and make sure older files can be read.
In the long term, you should consider moving to the newer THnSparseT<TArrayL64> which guarantees the 64 bits on all platforms (we should also make sure that we update our code to that THnSparseT<TArrayL> can be read into a THnSparseT<TArrayL64> (by adding the relevant renaming rule if need be).
It's enough to add back the dictionary for THnSparse<TArrayL> to read back the histogram. Now I'm also working on a trasparent conversion from THnSparseL written as THnSparse<TArrayL> to THnSparseL read as THnSparse<TArrayL64>, let's see if I can make that work.
Check duplicate issues.
Description
Backwards compatibility for
THnSparseL
was broken in 6.32 by #8546, @ferdymercury @vepadulano.Reproducer
Write a
THnSparseL
to a file e.g. with ROOT 6.30.06:Try to read it with ROOT 6.32.00 (or
master
):root hist.root -e 'hist'
You'll get this error:
ROOT version
ROOT 6.32.00 upwards.
Additional context
Thanks do @philippe554 for catching this! This issue is important for project HighLO because we're using
THnSparseL
as a container for reduced data.The text was updated successfully, but these errors were encountered: