Cannot build Garfield++: Missing VDT library

Hello, I’m trying to install Garfield++ on my machine, building it from source (I cloned the garfieldpp repository from gitlab.cern.ch) with cmake, but when running cmake $GARFIELD_HOME, I get the following error:

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find Vdt (missing: VDT_INCLUDE_DIR VDT_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /usr/lib/cmake/ROOT/modules/FindVdt.cmake:63 (find_package_handle_standard_args)
  /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
  /usr/lib/cmake/ROOT/ROOTConfig.cmake:167 (find_dependency)
  CMakeLists.txt:79 (find_package)

While browsing for solutions, I found two posts (Root still cannot find VDT... and Error building Garfield++...), and in both cases apparently it was a bug that was fixed already? I checked the ROOTConfig.cmake file and the fix is indeed there already, so I don’t get what I might be doing wrong. My system (recently updated Arch Linux) has:

GSL: 2.8-1
Compiler: gcc 14.2.1
Fortran Compiler: gcc-fortran 14.2.1
ROOT: 6.32.04 (Installed from Arch’s official repositories)

Hi,

I am adding @hschindl in the loop.

Cheers,
D

1 Like

If this information helps: I searched through my whole machine: entire /usr, /var, /home directories, and there were absolutely no files or folders containing the string “vdt” (with the sole exception of FindVdt.cmake). It doesn’t seem surprising that it can’t be found, but I’m not sure if that’s just the way it’s supposed to be.

If I’m supposed to have a “vdt” directory somewhere, I might try to install ROOT from another source.

Update: Listing all namespaces on ROOT does show “vdt” and “vdt::details”, so I’m just clueless now :sweat_smile:

Alright, it’s a bit of a workaround but I solved it by simply installing the VDT library manually. It’s extra/cern-vdt on Arch at least. It’s built finally!