Dear all,
I have been trying to add RDataFrame objects to take advantage of tree-filling parallelization to the software I’m developing. During compilation I get this error:
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:37:8: error: expected identifier before numeric constant
struct None{};
^~~~
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:37:8: error: expected unqualified-id before numeric constant
In file included from /usr/opt/root/root-6.22.06/include/ROOT/RDF/InterfaceUtils.hxx:17,
from /usr/opt/root/root-6.22.06/include/ROOT/RDF/RInterface.hxx:18,
from /usr/opt/root/root-6.22.06/include/ROOT/RDataFrame.hxx:20,
from ../../Core/ZMQRDPatternClass.h:36,
from ../../Core/TCLRunFileHandler.cpp:42:
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:43:47: error: expected type-specifier
template <typename F, typename ExtraArgsTag = CustomColExtraArgs::None>
^~~~~~~~~~~~~~~~~~
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:43:47: error: expected ‘>’
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:46:20: error: expected type-specifier
using NoneTag = CustomColExtraArgs::None;
^~~~~~~~~~~~~~~~~~
/usr/opt/root/root-6.22.06/include/ROOT/RDF/RCustomColumn.hxx:71:84: error: ‘NoneTag’ has not been declared
void UpdateHelper(unsigned int slot, Long64_t entry, std::index_sequence<S...>, NoneTag)
^~~~~~~
I just installed 6.22.06 following the instructions given on the webpage. FYI, for this version of ROOT, my code compiles and works fine with usual ROOT tree-filling operations. If it helps, ROOT is embedded in my configure.ac as follows:
######################################## Checks for Root
AC_CHECK_PROG(ROOTCONFIGDFLT, [root-config], [root-config], [], [$PATH])
# override of default version
AC_ARG_WITH([rootsys],
AS_HELP_STRING([--with-rootsys], [Path to ROOT install directory (a.k.a. ROOTSYS)]))
AC_PATH_PROG([ROOTCONFIG], [root-config], [notfound], [$with_rootsys/bin:$PATH])
if test "x$ROOTCONFIG" = "xnotfound" ; then
ROOTCONFIG=$ROOTCONFIGDFLT
AC_MSG_NOTICE([Setting to $ROOTCONFIG])
fi
if test -z "$ROOTCONFIG" ; then
AC_MSG_ERROR([Unable to locate root-config that is is required.])
else
AC_MSG_NOTICE([Using root-config ... $ROOTCONFIG])
fi
ROOT_CFLAGS=`$ROOTCONFIG --cflags`
ROOT_LDFLAGS="`$ROOTCONFIG --glibs` -Wl,-rpath=`$ROOTCONFIG --libdir` "
ROOT_LIBRARY_DIR=`$ROOTCONFIG --libdir`
AC_SUBST(ROOT_CFLAGS)
AC_SUBST(ROOT_LDFLAGS)
AC_SUBST(ROOT_LIBRARY_DIR)
AC_SUBST(ROOTCONFIG)
Am I missing something in the configuration?
Thank you in advance
Best wishes
giordano
Please read tips for efficient and successful posting and posting code
ROOT Version: 6.22.06
Platform: Debian Buster
Compiler: g++ 8.3/ std=C++11