Details
-
Type:
RFC
-
Status: Implemented
-
Resolution: Done
-
Component/s: DM
-
Labels:None
Description
Last May, cfitsio changed their version numbering from the proprietary versioning to a traditional major.minor.patch versioning scheme: https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/docs/changes.txt
This version was thus updated from 3.49 to 4.0.0. The fundamental code did not change, but it turns out a lot of code out there was written with explicit checks on the old-style cfitsio version formatting. Fortunately, all of the necessary patches have now been applied and everything we depend on in conda-forge has been rebuilt with cfitsio=4 and the conda-forge global pinning for cfitsio has been updated to version 4: https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/9a96a73e9aa00da5b38ac25623b2b46f1a8b9fef/recipe/conda_build_config.yaml#L394-L395
As rubin-env is pinned on cfitsio =3 then we are going to be frozen out of future package updates that depend on cfitsio =4 until we update our pin.
Fortunately, a recent build with the rubin-env =2.0.0dev (including python =3.10 and cfitsio =4) turned up no issues with the new cfitsio. That is, there is no obvious location in the LSST Science Pipelines that checks the cfitsio version explicitly. Unfortunately, the new cfitsio =4 is not ABI compatible with cfitsio =3.
As this is updating an incompatible dependency major version this would necessitate an update of rubin-env to version 2.0.0.