Skip to content
Snippets Groups Projects

Conditional build of the algo directory

Merged Florian Uhlig requested to merge f.uhlig/cbmroot:algo_conditional_build into master
All threads resolved!

Build the algo subdirectory only if C++17 is the chosen c++ standard. The value depends on the C++ standard used to compile FairSoft.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Florian Uhlig mentioned in merge request !567 (merged)

    mentioned in merge request !567 (merged)

  • Florian Uhlig added 5 commits

    added 5 commits

    Compare with previous version

  • Pierre-Alain Loizeau approved this merge request

    approved this merge request

    • Resolved by Pierre-Alain Loizeau

      Small interrogation which can be resolved later given the small change: should we stick to EQUAL or bet on the future and plan that the compilation is enabled for c++17 and higher?

      I did not comment directly on the line to avoid triggering a thread blocking the merge as the MR is still OK as is ^^'

  • Pierre-Alain Loizeau resolved all threads

    resolved all threads

  • Dear @f.uhlig, @v.friese, @p.-a.loizeau,

    you have been identified as code owner of at least one file which was changed with this merge request.

    Please check the changes and approve them or request changes.

  • merged

  • Humm...the effect is that now the algo directory is not compiled on my computer...quite contra-productive if you want to do development...

  • @f.uhlig Can you please give a quick summary why this change was done? (This is relevant for my work on unit tests)

    • Resolved by Florian Uhlig

      @v.friese What did you do to solve this? Update FairSoft? I currently comment out the if() statement on my machine, to get algo to compile, but run into some problems. I really want to avoid going through the FairSoft installation again if possible.

  • @d.smith,

    the code uses C++17 features and does not compile if the compiler doesn't support that. Which FairSoft version do you use?

    • Resolved by Dominik Smith

      I use "jun19p1".

      I was trying to work in unit tests for the trigger algorithm. When compiling the cbmroot I noticed that the algo subdirectory is not compiled, so I commented out the if-statement. Now I get the following error:

      Warning in cling::IncrementalParser::CheckABICompatibility():
        Possible C++ standard library mismatch, compiled with __GLIBCXX__ '20200408'
        Extraction of runtime standard library version was: '20200808'
      /home/dsmith/cbmroot/core/data/psd/CbmPsdDigi.cxx:14:10: fatal error: TBuffer.h: No such file or directory
         14 | #include <TBuffer.h>  // for TBuffer
            |          ^~~~~~~~~~~
      compilation terminated.
      make[2]: *** [algo/data/CMakeFiles/OnlineData.dir/build.make:219: algo/data/CMakeFiles/OnlineData.dir/__/__/core/data/psd/CbmPsdDigi.cxx.o] Error 1
      make[2]: *** Waiting for unfinished jobs....
      /home/dsmith/cbmroot/core/data/tof/CbmTofDigi.cxx:13:10: fatal error: TString.h: No such file or directory
        13 | #include <TString.h>  // for Form, TString
            |          ^~~~~~~~~~~
      compilation terminated.
      make[2]: *** [algo/data/CMakeFiles/OnlineData.dir/build.make:167: algo/data/CMakeFiles/OnlineData.dir/__/__/core/data/tof/CbmTofDigi.cxx.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:4348: algo/data/CMakeFiles/OnlineData.dir/all] Error 2
      make[1]: *** Waiting for unfinished jobs....

      This seems to be super unrelated to what I am currently working on. I'm also not sure what "TString.h" and "TBuffer.h" have to do with C++ 17. I was wondering if there is some quick fix through which I can disable the corresponding classes.

  • Florian Uhlig resolved all threads

    resolved all threads

Please register or sign in to reply
Loading