Closed agstephens closed 7 years ago
Got there after some pain :)
The ecCodes package is now somewhat a replacement for grib-api, but we cannot simply drop support for grib_api while user code is still potentially linked against it (as well as JAP packages CDO and Iris in their current builds) and eccodes does not provide libgrib_api.so. ECMWF are continuing to maintain grib_api releases in parallel with ecCodes at present. BUT the two packages conflict because some of the files they provide are the same.
I decided in the end to:
The eccodes RPM is based on a spec file I wrote myself from scratch. The grib_api RPM is based on a spec file written by ECMWF, but now forked from it in order to make the changes described above.
The lines for the release notes are as follows.
=================
The ecCodes package from ECWMF is installed (version 2.4.0). This is the new equivalent of grib_api, although ECMWF are also maintaining "grib_api" in parallel with it.
So that code linked to libgrib_api can continue to run, the "grib_api" package is retained (and upgraded to version 1.23), but a number of files have had to be renamed to avoid conflicts. In particular:
executables: the executables provided by the grib_api package are all renamed with suffix "_from_legacy_grib_api", for example /usr/bin/grib_ls_from_legacy_grib_api f Many of those executables are now provided by the ecCodes package, for example /usr/bin/grib_ls
C and Fortran compilation: the files /usr/include/grib_api.* are provided by ecCodes. The header files provided by grib_api package have been moved to /usr/include/legacy_grib_api, and the "include" statements in the code or the "-I" compiler flag should be adjusted as required. For example in C code:
#include <legacy_grib_api/grib_api.h>
Python: the "gribapi" package is now provided as part of ecCodes. To use the one from grib_api-python27 package, do:
import legacy_gribapi as gribapi
======
Note that I have packaged it into separate packages to match what has already been done for grib_api, namely:
eccodes-2.4.0-1.el6.x86_64
eccodes-devel-2.4.0-1.el6.x86_64
eccodes-fortran-2.4.0-1.el6.x86_64
eccodes-python27-2.4.0-1.el6.x86_64
ECMWF is now transitioning away from grib-api to the ecCodes package.
Please add it to the jasmin_scivm.
https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
Thanks