Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can't compile RNTupleDS #13103

Closed
1 task done
ynikitenko opened this issue Jun 26, 2023 · 1 comment
Closed
1 task done

can't compile RNTupleDS #13103

ynikitenko opened this issue Jun 26, 2023 · 1 comment
Labels

Comments

@ynikitenko
Copy link

ynikitenko commented Jun 26, 2023

Check duplicate issues.

  • Checked for duplicates

Description

When building ROOT from source, I got an error:

/opt/root/src/tree/dataframe/src/RNTupleDS.cxx: In member function ‘virtual const ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations& ROOT::Experimental::Internal::RRDFCardinalityField::GetColumnRepresentations() const’:
/opt/root/src/tree/dataframe/src/RNTupleDS.cxx:78:25: error: ‘kSplitIndex64’ is not a member of ‘ROOT::Experimental::EColumnType’; did you mean ‘kSplitIndex32’?
   78 |          {{EColumnType::kSplitIndex64}, {EColumnType::kIndex64}, {EColumnType::kSplitIndex32}, {EColumnType::kIndex32}},
      |                         ^~~~~~~~~~~~~
      |                         kSplitIndex32
/opt/root/src/tree/dataframe/src/RNTupleDS.cxx:78:55: error: ‘kIndex64’ is not a member of ‘ROOT::Experimental::EColumnType’; did you mean ‘kIndex32’?
   78 |          {{EColumnType::kSplitIndex64}, {EColumnType::kIndex64}, {EColumnType::kSplitIndex32}, {EColumnType::kIndex32}},
      |                                                       ^~~~~~~~
      |                                                       kIndex32
/opt/root/src/tree/dataframe/src/RNTupleDS.cxx:79:12: error: no matching function for call to ‘ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::RColumnRepresentations(<brace-enclosed initializer list>, <brace-enclosed initializer list>)’
   79 |          {});
      |            ^
In file included from /opt/root/src/tree/dataframe/src/RNTupleDS.cxx:19:
/opt/root/install/include/ROOT/RField.hxx:111:7: note: candidate: ‘ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::RColumnRepresentations(const TypesList_t&, const TypesList_t&)’
  111 |       RColumnRepresentations(const TypesList_t &serializationTypes, const TypesList_t &deserializationExtraTypes);
      |       ^~~~~~~~~~~~~~~~~~~~~~
/opt/root/install/include/ROOT/RField.hxx:111:49: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::TypesList_t&’ {aka ‘const std::vector<std::vector<ROOT::Experimental::EColumnType> >&’}
  111 |       RColumnRepresentations(const TypesList_t &serializationTypes, const TypesList_t &deserializationExtraTypes);
      |                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/root/install/include/ROOT/RField.hxx:110:7: note: candidate: ‘ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::RColumnRepresentations()’
  110 |       RColumnRepresentations();
      |       ^~~~~~~~~~~~~~~~~~~~~~
/opt/root/install/include/ROOT/RField.hxx:110:7: note:   candidate expects 0 arguments, 2 provided
/opt/root/install/include/ROOT/RField.hxx:107:10: note: candidate: ‘ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::RColumnRepresentations(const ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations&)’
  107 |    class RColumnRepresentations {
      |          ^~~~~~~~~~~~~~~~~~~~~~
/opt/root/install/include/ROOT/RField.hxx:107:10: note:   candidate expects 1 argument, 2 provided
/opt/root/install/include/ROOT/RField.hxx:107:10: note: candidate: ‘ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations::RColumnRepresentations(ROOT::Experimental::Detail::RFieldBase::RColumnRepresentations&&)’
/opt/root/install/include/ROOT/RField.hxx:107:10: note:   candidate expects 1 argument, 2 provided
make[2]: *** [tree/dataframe/CMakeFiles/ROOTDataFrame.dir/build.make:524: tree/dataframe/CMakeFiles/ROOTDataFrame.dir/src/RNTupleDS.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:36193: tree/dataframe/CMakeFiles/ROOTDataFrame.dir/all] Error 2

No header inclusion helped; it's really strange why 32 bit fields from the very same structure (enumeration) are visible, and 64 are not...
Had to comment out

// {EColumnType::kSplitIndex64}, {EColumnType::kIndex64},

Reproducer

Clone ROOT repository, go to the build directory,

cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=../install ../src
cmake --build . -- install -j4

ROOT version

Most recent ROOT version from the master branch at that time.

commit 870618f (HEAD -> master, origin/master, origin/HEAD)

Installation method

built from source

Operating system

Arch Linux

Additional context

Had several problems while installing ROOT from source today (submitted bugs). Hope this is not because of my own system.

@ynikitenko ynikitenko added the bug label Jun 26, 2023
@guitargeek
Copy link
Contributor

Duplicate of #13101.

@guitargeek guitargeek closed this as not planned Won't fix, can't repro, duplicate, stale Jun 26, 2023
@root-project root-project deleted a comment from github-actions bot Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants