Skip to content

Move header files to a top-level include folder#16

Merged
jmcarcell merged 4 commits into
masterfrom
move-headers
Jul 25, 2026
Merged

Move header files to a top-level include folder#16
jmcarcell merged 4 commits into
masterfrom
move-headers

Conversation

@jmcarcell

@jmcarcell jmcarcell commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

The problem is that the structure when building and installing is different, since they all get installed to <prefix>/include/kaltest and this makes it so that many warnings appear in LCG stacks when building downstream packages (maybe not with Spack because they are not always under ROOT_INCLUDE_PATH, while for LCG stacks they are):

Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVCurve.h
   requested to autoload type TVCurve
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCircle.h
   requested to autoload type TCircle
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVSurface.h
   requested to autoload type TVSurface
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCutCone.h
   requested to autoload type TCutCone
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCylinder.h
   requested to autoload type TCylinder
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVTrack.h
   requested to autoload type TVTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/THelicalTrack.h
   requested to autoload type THelicalTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/THype.h
   requested to autoload type THype
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TPlane.h
   requested to autoload type TPlane
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TRKTrack.h
   requested to autoload type TRKTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TRungeKuttaTrack.h
   requested to autoload type TRungeKuttaTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TStraightTrack.h
   requested to autoload type TStraightTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVSolid.h
   requested to autoload type TVSolid
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TTube.h
   requested to autoload type TTube
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TKalMatrix.h
   requested to autoload type TKalMatrix
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVKalState.h
   requested to autoload type TVKalState
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TVKalSite.h
   requested to autoload type TVKalSite
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TVKalSystem.h
   requested to autoload type TVKalSystem
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TTrackFrame.h
   requested to autoload type TTrackFrame
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TKalTrackState.h
   requested to autoload type TKalTrackState
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TKalTrack.h
   requested to autoload type TKalTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalDetCradle.h
   requested to autoload type TKalDetCradle
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalFilterCond.h
   requested to autoload type TKalFilterCond
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVMeasLayer.h
   requested to autoload type TVMeasLayer
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVTrackHit.h
   requested to autoload type TVTrackHit
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalTrackSite.h
   requested to autoload type TKalTrackSite
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TVKalDetector.h
   requested to autoload type TVKalDetector
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttDrawable.h
   requested to autoload type TAttDrawable
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttElement.h
   requested to autoload type TAttElement
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttLockable.h
   requested to autoload type TAttLockable
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for bfield/TBField.h
   requested to autoload type TBField
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for bfield/TRKMagField.h
   requested to autoload type TRKMagField
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVCurve.h
   requested to autoload type TVCurve
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCircle.h
   requested to autoload type TCircle
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVSurface.h
   requested to autoload type TVSurface
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCutCone.h
   requested to autoload type TCutCone
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TCylinder.h
   requested to autoload type TCylinder
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVTrack.h
   requested to autoload type TVTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/THelicalTrack.h
   requested to autoload type THelicalTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/THype.h
   requested to autoload type THype
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TPlane.h
   requested to autoload type TPlane
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TRKTrack.h
   requested to autoload type TRKTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TRungeKuttaTrack.h
   requested to autoload type TRungeKuttaTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TStraightTrack.h
   requested to autoload type TStraightTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVSolid.h
   requested to autoload type TVSolid
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for geomlib/TTube.h
   requested to autoload type TTube
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TKalMatrix.h
   requested to autoload type TKalMatrix
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVKalState.h
   requested to autoload type TVKalState
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TVKalSite.h
   requested to autoload type TVKalSite
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kallib/TVKalSystem.h
   requested to autoload type TVKalSystem
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TTrackFrame.h
   requested to autoload type TTrackFrame
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TKalTrackState.h
   requested to autoload type TKalTrackState
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TKalTrack.h
   requested to autoload type TKalTrack
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalDetCradle.h
   requested to autoload type TKalDetCradle
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalFilterCond.h
   requested to autoload type TKalFilterCond
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVMeasLayer.h
   requested to autoload type TVMeasLayer
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for TVTrackHit.h
   requested to autoload type TVTrackHit
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TKalTrackSite.h
   requested to autoload type TKalTrackSite
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for kaltracklib/TVKalDetector.h
   requested to autoload type TVKalDetector
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttDrawable.h
   requested to autoload type TAttDrawable
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttElement.h
   requested to autoload type TAttElement
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for utils/TAttLockable.h
   requested to autoload type TAttLockable
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for bfield/TBField.h
   requested to autoload type TBField
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
   Missing FileEntry for bfield/TRKMagField.h
   requested to autoload type TRKMagField

It's always searches following the structure from the source folders. There are multiple ways of fixing this, one of them not storing any paths and resolving through ROOT_INCLUDE_PATH. I would say the changes here are less invasive because the content of the generated dictionaries is the same and it's probably a good idea; there are a total of 33 header files, and the existing distinction is maintained in the source files (plus includes were able to include from a different folder because everything was "global", so it's not like there are four independent pieces).

BEGINRELEASENOTES

  • Move all header files to a top-level include folder
  • Fix all the includes in the repository to reflect the new paths
  • Instead of creating 4 dictionaries, create a single one. I think this makes sense since there is only a single library.

ENDRELEASENOTES

The first two changes do not have any effect on the installed KalTest, only the third one changes from 4 dictionaries to a single one, but I think this is never used by name or I can't find any place where they are.

@jmcarcell
jmcarcell merged commit caa8727 into master Jul 25, 2026
11 checks passed
@jmcarcell
jmcarcell deleted the move-headers branch July 25, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant