[SOLVED] Port recent FCCAnalyses compilation fixes into FCCeePhysicsPerformance?

Hi,

I’ve updated to the most recent FCCAnalyses, and now it compiles fine. However, I’m now having trouble compiling FCCeePhysicsPerformance from FCCeePhysicsPerformance/case-studies/flavour/dataframe/

cd FCCeePhysicsPerformance/case-studies/flavour/dataframe
source ./localSetup.sh
rm -r build/ install/
mkdir build install
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DFCCANALYSES_INCLUDE_PATH=/afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCAnalyses/install/include/FCCAnalyses/
make install

and I get this error:

[ 16%] Generating G__FCCAnalysesFlavour.cxx, libFCCAnalysesFlavour_rdict.pcm, libFCCAnalysesFlavour.rootmap
In file included from input_line_9:3:
In file included from /afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCeePhysicsPerformance/case-studies/flavour/dataframe/analyzers/Bs2JPsiPhi.h:7:
/cvmfs/sw.hsf.org/spackages5/root/6.26.00/x86_64-centos7-gcc11.2.0-opt/jx56q/include/ROOT/RVec.hxx:52:10: fatal error: 'vdt/vdtMath.h' file not found
#include <vdt/vdtMath.h>
         ^~~~~~~~~~~~~~~
Error: /cvmfs/sw.hsf.org/spackages5/root/6.26.00/x86_64-centos7-gcc11.2.0-opt/jx56q/bin/rootcling: compilation failure (/afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCeePhysicsPerformance/case-studies/flavour/dataframe/build/analyzers/libFCCAnalysesFlavoure1b240c0aa_dictUmbrella.h)
make[2]: *** [analyzers/CMakeFiles/FCCAnalysesFlavour.dir/build.make:81: analyzers/G__FCCAnalysesFlavour.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: analyzers/CMakeFiles/FCCAnalysesFlavour.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

which is the same error I saw before I updated FCCAnalyses. So, do some of the recent compilation fixes that went into FCCAnalyses also need to be made in FCCeePhysicsPerformance?

Thanks!
Juliette

hello @jalimena,

yes, this is correct, the same changes will have to be made to the CMakeLists in all the FCCeePhysicsAndPerformance packages. But before doing the changes, I am questionning how useful it is to have FCCAnalyses analysers spread over various repositories. After more than a year of usage,
@eperez @azzi could comment.

1 Like

Hi @clement.helsens , I understand your hesitation to duplicate changes, but right now, I can’t run anything. Would you be able to put in the changes ~now so that we can run? It seems to me that the question of restructuring packages will take longer to decide than the timescale we need for a fix.

hello @jalimena , are you really using analysers in FCCAnalysesFlavour ?

Hi @clement.helsens , we’re using analyzers in FCCeePhysicsPerformance/case-studies/BSM/LLP which import from FCCeePhysicsPerformance/case-studies/flavour/

Hi @jalimena,
could you give it another try with the changes in cmake fixes for the rdataframe analyzers by vvolkl · Pull Request #37 · HEP-FCC/FCCeePhysicsPerformance · GitHub?
Thanks,
Valentin

1 Like

Thanks, @vavolkl . Now I get a message when I run my cmake command, but I’m not sure how in practice to do what the warning message says. Can you help me? This is what I get:

$ cd FCCeePhysicsPerformance/case-studies/flavour/dataframe/
$ mkdir build install
$ cd build/
$ cmake .. -DCMAKE_INSTALL_PREFIX=../install -DFCCANALYSES_INCLUDE_PATH=/afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCAnalyses/install/include/FCCAnalyses/
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The CXX compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cvmfs/sw.hsf.org/contrib/gcc/11.2.0/x86_64-centos7-gcc8.3.0-opt/4omkc/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found nlohmann_json: /cvmfs/sw.hsf.org/spackages5/nlohmann-json/3.10.5/x86_64-centos7-gcc11.2.0-opt/s25ow/lib64/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found suitable version "3.10.5", minimum required is "3.10.5") 
-- Found Python: /cvmfs/sw.hsf.org/spackages5/python/3.9.10/x86_64-centos7-gcc11.2.0-opt/7j5vq/bin/python3.9 (found version "3.9.10") found components: Interpreter 
-- Found podio: /cvmfs/sw.hsf.org/spackages5/podio/0.14.1/x86_64-centos7-gcc11.2.0-opt/apzae/lib64/cmake/podio/podioConfig.cmake  
-- Found EDM4HEP: /cvmfs/sw.hsf.org/spackages5/edm4hep/0.4.1/x86_64-centos7-gcc11.2.0-opt/22m2i/lib64/cmake/EDM4HEP/EDM4HEPConfig.cmake  
CMake Warning at CMakeLists.txt:11 (find_package):
  By not providing "FindVdt.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Vdt", but
  CMake did not find one.

  Could not find a package configuration file provided by "Vdt" with any of
  the following names:

    VdtConfig.cmake
    vdt-config.cmake

  Add the installation prefix of "Vdt" to CMAKE_PREFIX_PATH or set "Vdt_DIR"
  to a directory containing one of the above files.  If "Vdt" provides a
  separate development package or SDK, be sure it has been installed.


-- Found Vdt: /cvmfs/sw.hsf.org/spackages5/vdt/0.4.3/x86_64-centos7-gcc11.2.0-opt/vtti3/include (found version "0.4") 
-- FCCAnalysesIncludePath /afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCAnalyses/install/include/FCCAnalyses
-- Configuring done
-- Generating done
-- Build files have been written to: /afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCeePhysicsPerformance/case-studies/flavour/dataframe/build

$ make install
[ 16%] Generating G__FCCAnalysesFlavour.cxx, libFCCAnalysesFlavour_rdict.pcm, libFCCAnalysesFlavour.rootmap
In file included from input_line_9:3:
In file included from /afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCeePhysicsPerformance/case-studies/flavour/dataframe/analyzers/Bs2JPsiPhi.h:7:
/cvmfs/sw.hsf.org/spackages5/root/6.26.00/x86_64-centos7-gcc11.2.0-opt/jx56q/include/ROOT/RVec.hxx:52:10: fatal error: 'vdt/vdtMath.h' file not found
#include <vdt/vdtMath.h>
         ^~~~~~~~~~~~~~~
Error: /cvmfs/sw.hsf.org/spackages5/root/6.26.00/x86_64-centos7-gcc11.2.0-opt/jx56q/bin/rootcling: compilation failure (/afs/cern.ch/work/j/jalimena/FCCeeLLP/FCCeePhysicsPerformance/case-studies/flavour/dataframe/build/analyzers/libFCCAnalysesFlavourbe1eafd371_dictUmbrella.h)
make[2]: *** [analyzers/CMakeFiles/FCCAnalysesFlavour.dir/build.make:81: analyzers/G__FCCAnalysesFlavour.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: analyzers/CMakeFiles/FCCAnalysesFlavour.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Hi @jalimena,

do you have the file case-studies/flavour/dataframe/cmake/FindVdt.cmake?

(perhaps best to try again with the current master branch)
Cheers,
Valentin

ah ok, with the latest latest, it compiles for me now! thanks, @vavolkl !! I think we can close this ticket.