GRIFFINCollaboration / GRSISort

A lean, mean, sorting machine.
MIT License
22 stars 54 forks source link

Missing files while running make/cmake #1446

Closed htametahI closed 2 months ago

htametahI commented 3 months ago

I installed root via macports and currently have version 6.32.04.

My MacOS version is Sonoma 14.6.1.

I called cmake -S GRSISort -B GRSISort-build -DCMAKE_PREFIX_PATH=/opt/local/libexec/ and is getting the following error:

CMake Error at /opt/homebrew/share/root/cmake/RootMacros.cmake:456 (message):
  Cannot find header TLstEvent.h to generate dictionary G__TLst for.  Did you
  forget to set the INCLUDE_DIRECTORIES property for the current directory?
Call Stack (most recent call first):
  CMakeLists.txt:72 (root_generate_dictionary)

When I call make in the GRSISort directory I'm getting an error when it gets to .build/libraries/TGRSIProof/TGRSIProofDict.cxx indicating TProof.h is not found:

In file included from input_line_9:9:
/Users/mikeqiu/GRSISort/include/TGRSIProof.h:22:10: fatal error: 'TProof.h' file not found
#include "TProof.h"
         ^~~~~~~~~~
Error: rootcling: compilation failure (./TGRSIProof_TGRSIProofDictb087fab23a_dictUmbrella.h)
make: *** [.build/libraries/TGRSIProof/TGRSIProofDict.cxx] Error 1
VinzenzBildstein commented 3 months ago

When using cmake with root installed via macports, you need to add -DCMAKE_PREFIX_PATH=/opt/local/libexec/ to the setup command of cmake (as described in the note for step 4 on https://github.com/GRIFFINCollaboration/GRSISort/wiki/Setting-up-GRSISort).

The errors with a missing TProof.h should be solved with PR #1440 (see the discussion in #1433). What commit of GRSIsort are you using? And what does root-config --has-proof return for you?

htametahI commented 3 months ago

I indeed added -DCMAKE_PREFIX_PATH=/opt/local/libexec/ to my cmake command but it shows the same error.

I'm using GRSISort v4.0.0.5 and root-config --has-proof returns no for me.

VinzenzBildstein commented 3 months ago

Oh, right, didn't see that in your initial post, sorry. When I use cmake on my MacOS (Sonoma 14.5) with root6 installed via macports (version 6.32.04) I get this when running cmake -S GRSISort-cmake -B GRSISort-build -DCMAKE_PREFIX_PATH=/opt/local/libexec/:

-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /opt/local/bin/git (found version "2.46.0")
-- Found X11: /opt/local/include
-- Looking for XOpenDisplay in /opt/local/lib/libX11.dylib;/opt/local/lib/libXext.dylib
-- Looking for XOpenDisplay in /opt/local/lib/libX11.dylib;/opt/local/lib/libXext.dylib - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found Vdt: /opt/local/include (found version "0.4")
CMake Warning at /opt/local/libexec/root6/share/root/cmake/ROOTConfig.cmake:228 (message):
   ROOT component Proof not found
Call Stack (most recent call first):
  CMakeLists.txt:38 (find_package)

-- Found Python: /opt/local/bin/python3.12 (found version "3.12.5") found components: Interpreter
C++ version set to: 17

ENV(CMAKE_EXPORT_COMPILE_COMMANDS) NOT DEFINED
ENV(CMAKE_EXPORT_COMPILE_COMMANDS) NOT DEFINED
-- Configuring done (14.1s)
-- Generating done (0.8s)
-- Build files have been written to: /Users/vbildste/Guelph/GRSISort-build

Can you check where ROOTConfig.cmake is located on your computer? You can use e.g. locate ROOTConfig.cmake or find /opt/ -name ROOTConfig.cmake to do that. If it's not within /opt/local/libexec/, use the location where it was installed for you instead.

v4.0.0.5 only gives a very rough version number, what commit are you on? You can run ErrorReport.sh to get that.

VinzenzBildstein commented 2 months ago

@htametahI is this issue resolved for you now, or do you still have issues compiling GRSISort?