Skip to content
Snippets Groups Projects

Add check of installed libraries

Merged Pierre-Alain Loizeau requested to merge p.-a.loizeau/cbmroot:test_both_install_uses into master
  • Remove mvd from list of folders to delete when testing the installed version (folder removed from repo)
  • Run the installation check both before and after removing the source folder
  • Also try to load all libraries when checking the installed version

=> Expected to fail until some solution for #3577 is found, for example in new variants/versions of !2057 (merged)

Redmine: Refs #3577 #3582 #3130

Edited by Pierre-Alain Loizeau

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
  • requested review from @f.uhlig

  • added CI/CD label

  • added 1 commit

    • 2f529a28 - [CI] Remove mvd from list of folders to delete when testing the installed...

    Compare with previous version

  • added 1 commit

    • 3f496b1c - [CI] Remove mvd from list of folders to delete when testing the installed...

    Compare with previous version

  • mentioned in merge request !2057 (merged)

  • 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.

  • Pierre-Alain Loizeau marked this merge request as draft

    marked this merge request as draft

  • Marked as draft as while doing the double execution as wanted, the load_library check does not catch our current problem

  • Path to solution:

    #!/bin/bash
    
    start="class "
    output=$(grep -m1 "$start" <PATH to LIB>/lib<CBM lib name>.rootmap)
    output="${output#"$start"}"
    
    echo "${output}"
    # => Gives the name of the first Cling callable class in the corresponding library (does not really matter which one it is)

    Combined with the following call in ROOT (probably hidden/wrapped in a .C amcro)

    gInterpreter->AutoParse("<ClassName>")

    I will implement this with fresh steam tomorrow

    Edited by Pierre-Alain Loizeau
  • added 1 commit

    • cd3f0c2b - [CI] Add parsing of library to lib loding test (using f1st class in lib from rootmap)

    Compare with previous version

  • Pierre-Alain Loizeau marked this merge request as ready

    marked this merge request as ready

  • Remove draft mode as I have now a version which in a local install manages to properly detects the crash and manages to handle all dictionaries including those with fancy templates in externals

  • Florian Uhlig approved this merge request

    approved this merge request

    • Resolved by Pierre-Alain Loizeau

      Huuuum, not sure why it passed, it should have failed if I believe these logs: I see the crash from the Reco lib + another with

      Problem loading or parsing the library /tmp/custom-executor1818328879/builds/computing/cbmroot/install/lib/libCbmAtConverterSteer.so: 6
      Processing /tmp/custom-executor1818328879/builds/computing/cbmroot/install/share/cbmroot/macro//loadlib.C("/tmp/custom-executor1818328879/builds/computing/cbmroot/install/lib/libCbmAtConverterSteer.so", "cbm::atconverter::Run")...
      In file included from libCbmAtConverterSteer dictionary payload:97:
      /tmp/custom-executor1818328879/builds/computing/cbmroot/install/include/TaskFactory.h:26:17: error: unknown type name 'Run'
          TaskFactory(Run* steer = nullptr);
                      ^
      /tmp/custom-executor1818328879/builds/computing/cbmroot/install/include/TaskFactory.h:49:5: error: unknown type name 'Run'
          Run* fRun = nullptr;
          ^
      root.exe: /tmp/FairSoft/build/Source/root/interpreter/llvm/src/tools/clang/lib/AST/DeclCXX.cpp:1106: clang::CXXMethodDecl* clang::CXXRecordDecl::getLambdaCallOperator() const: Assertion `!Calls.empty() && "Missing lambda call operator!"' failed.
      Problem loading or parsing the library /tmp/custom-executor1818328879/builds/computing/cbmroot/install/lib/libKFParticleInterface.so: 6
      Processing /tmp/custom-executor1818328879/builds/computing/cbmroot/install/share/cbmroot/macro//loadlib.C("/tmp/custom-executor1818328879/builds/computing/cbmroot/install/lib/libKFParticleInterface.so", "CbmKFParticleFinder")...
      In file included from libKFParticleInterface dictionary payload:189:
      /tmp/custom-executor1818328879/builds/computing/cbmroot/install/include/CbmKFV0FinderTask.h:20:10: fatal error: 'KFParticleTopoReconstructor.h' file not found
      #include "KFParticleTopoReconstructor.h"
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      root.exe: /tmp/FairSoft/build/Source/root/interpreter/llvm/src/tools/clang/lib/AST/DeclBase.cpp:1362: void clang::DeclContext::removeDecl(clang::Decl*): Assertion `(DC->hasExternalVisibleStorage() || Pos != Map->end()) && "no lookup entry for decl"' failed.
      Not all libraries could be loaded and parsed
      Test failed
  • Pierre-Alain Loizeau marked this merge request as draft

    marked this merge request as draft

  • added 4 commits

    • 2c6824af - [CI] Also try to load all libraries when checking the installed version
    • d0d8b121 - [CI] Run the installation check both before and after removing the source folder
    • bd20e3a6 - [CI] Remove mvd from folders to delete when testing installed version (folder removed from repo)
    • dc35080c - [CI] Add parsing of library to lib loding test (using f1st class in lib from rootmap)

    Compare with previous version

  • Pierre-Alain Loizeau marked this merge request as ready

    marked this merge request as ready

  • Pierre-Alain Loizeau resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading