star-bnl / star-sw

Core software for STAR experiment
26 stars 63 forks source link

TPCCATracker requires vc@0.7.4 incompatible with ROOT >= 6.16 #587

Open plexoos opened 7 months ago

plexoos commented 7 months ago

In the STAR environment, utilizing ROO6 provided by star-spack@0.2.3, we currently default to loading vc@1.4.1. This choice aligns with the requirement that ROOT >= 6.16 can be compiled against this version. To address issues encountered when building star-sw on SDCC nodes, we have introduced a straightforward solution: the loading of the vc-0.7.4 module into the environment. This resolution has been implemented and documented in issue #586.

Upon conducting further investigation, it has come to my attention that Vc is neither a mandatory nor recommended dependency for ROOT6. In fact, ROOT6 is typically constructed without Vc support, with the vdt library serving as the primary provider of fast vectorized mathematical functions. Given these findings, I recommend that we eliminate the ROOT6 dependency on Vc in the upcoming STAR environment revision.

The packages requiring the old version of Vc are: TPCCATracker and kfparticle

fgeurts commented 7 months ago

I have added Yuri who committed the TPCCATracker code, and would like to add somebody from kfparticle as well to help address this. @genevb and @klendathu2k : can you provide some feedback in this issue on what compilation errors you encounter.

genevb commented 7 months ago

1) The only minor feedback I have on vc vs. vdt is that if dependencies can be reduced at no cost, then that seems an easy choice. However, I know nothing on the substitutability of vdt for vc in these codes in STAR, nor the costs (such as losing/gaining available code maintainers?).

2) I have successfully compiled the STAR software using both ROOT 6.16.00 and 6.24.06 on SDCC (I was only missing the step of appropriately setting the $STAR variable before compiling in my previous attempts) in empty scratch directories, but I made no run-time tests there.

3) I went ahead and tried to built and deploy 64-bit STAR software with ROOT 6.24.06 in SL23x (I wasn't sure whether I should place 6.16.00 there or 6.24.06 as Dmitri & Jason seemed not to be in agreement on which to move forward), to maybe try some run-time tests from an AFS deployment. Others can try it out too by doing the following:

setup 64b starver SL23x config/v0.2.3-rhel7-root6.24.06

I have tried two basic run-time tests with this.

Test 1: just running

root4star -b

This results in numerous printed errors like the following for a bunch of different classes, but I do get a root4star prompt afterwards:

Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState: Missing FileEntry for THelix3d.h requested to autoload type THelix3d

Test 2: just running: root4star -b -l .L bfc.C

This results in a crash:

StarRoot_Cint dictionary payload:12:10: fatal error: 'StMemStat.h' file not found

include "StMemStat.h"

^~~~~ Error in : Error parsing payload code for class TAttr with content:

line 1 "StarRoot_Cint dictionary payload"

I am tempted to try with ROOT 6.16.00 in SL23x to see if it does better on these basic tests, but any feedback is welcome.

Thanks, -Gene

plexoos commented 7 months ago

In order to run ROOT6 jobs, one needs at least #452

genevb commented 7 months ago

Update on SDCC build as of this afternoon:

-Gene