Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.

Re: [netcdfgroup] abi version for netcdf-4.1.2

On 04/05/2011 06:36 AM, Ed Hartnett wrote:
marco atzeri<marco.atzeri@xxxxxxxxx>  writes:

Dear Developers,
I just built netcdf-4.1.2 on cygwin, without fortran and c++ as they
are broken compared
to the previous 4.1.1, and I was surprised to see that
the outcome dll is now cygnetcdf-7.dll instead of cygnetcdf-6.dll of 4.1.1

Have you made a abi bump between 4.1.1 and 4.1.2 ? If so should be
better to change
the release number ? Between 4.1.1 and 4.1.2 I would expect minor
changes and bug fixes only.



Howdy Marco,

The library ABI number went up because we changed the main API (by
adding the nc_inq_path function.)

We did not change the library version number to 4.3 because this was
such a minor addition.

In general, the ABI version has nothing to do with the version number of
the package.

Thanks,

Ed


My thoughts:

- According to http://linuxtesting.org/upstream-tracker/versions/netcdf.html, the main ABI problems with going from 4.1.1 -> 4.1.2 was:

ncEnumType.h
namespace netCDF
[−] NcEnumType::ncEnumType (5)
        Change  Effect
1 Value of field nc_INT64 has been changed from 8 to 10. Applications may execute another branch of library code. 2 Value of field nc_UBYTE has been changed from 5 to 7. Applications may execute another branch of library code. 3 Value of field nc_UINT has been changed from 7 to 9. Applications may execute another branch of library code. 4 Value of field nc_UINT64 has been changed from 9 to 11. Applications may execute another branch of library code. 5 Value of field nc_USHORT has been changed from 6 to 8. Applications may execute another branch of library code.
[+] affected symbols (1)
NcGroup::addEnumType ( std::string const& name, NcEnumType::ncEnumType basetype ) const:
2nd parameter 'basetype' has type 'NcEnumType::ncEnumType'.

Kind of scary when constants change values.

- Adding a new function does not require bumping the soname version because that is still backwards compatible.

- Distribution and system maintainers must pay special attention to ABI compatibility. A significant version bump is a good indicator that this may happen and to look out for it. Conversely, "patch" level version changes are not expected to have ABI changes.



--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion@xxxxxxxxxxxxx
Boulder, CO 80301              http://www.cora.nwra.com



  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: