AIDASoft / DD4hep

Detector Description Toolkit for High Energy Physics
http://dd4hep.cern.ch
GNU Lesser General Public License v3.0
47 stars 93 forks source link

Allow finding newer versions of podio (for EDM4hep IO) #1280

Closed jmcarcell closed 1 month ago

jmcarcell commented 1 month ago

After podio changed to 1.0.0 (see https://github.com/AIDASoft/podio/commit/072c7dce699a2dc90f225cb0a75a4f2ce9677cf8), cmake won't run when asking for version 0.16.3. I think we can remove the requirement and let the build systems figure which versions are compatible with which.

The error when configuring is:

  >> 61    CMake Error at CMakeLists.txt:158 (find_package):
     62      Could not find a configuration file for package "podio" that is co
           mpatible
     63      with requested version "0.16.3".
     64    
     65      The following configuration files were considered but not accepted
           :
     66    
     67        /cvmfs/sw-nightlies.hsf.org/key4hep/releases/2024-06-21/x86_64-a
           lmalinux9-gcc11.4.1-opt/podio/072c7dce699a2dc90f225cb0a75a4f2ce9677c
           f8_develop-52hwbt/lib64/cmake/podio/podioConfig.cmake, version: 1.0.
           0

BEGINRELEASENOTES

ENDRELEASENOTES

github-actions[bot] commented 1 month ago

Test Results

   14 files     14 suites   6h 50m 55s :stopwatch:   363 tests   363 :white_check_mark: 0 :zzz: 0 :x: 2 496 runs  2 496 :white_check_mark: 0 :zzz: 0 :x:

Results for commit 8b8735e2.

:recycle: This comment has been updated with latest results.

wdconinc commented 1 month ago

I disagree with this approach of removing dependency version information. DD4hep requires a certain set of podio features, namely those provided by 0.16.3. Podio promises (through the SameMajorVersion policy) that any newer version with same major version can be expected to provide those features, but a different major version does not come with that promise. Failing on build configuration when you attempt to use podio 1.0.0 is exactly what should happen here.

Podio could change the policy to AnyNewerVersion (which then essentially means that you cannot use major version updates to remove API functionality).

andresailer commented 1 month ago

Can someone remind me again, why we search explicitly for podio and not just EDM4hep here?

wdconinc commented 1 month ago

Can someone remind me again, why we search explicitly for podio and not just EDM4hep here?

This is because of the need for podio::Frame support (https://github.com/AIDASoft/DD4hep/commit/57a7bf2f20f38b27b854ecbc1554af047fc40b85), which EDM4hep separately doesn't care about.