[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[DebianGIS] HDF4 changes

Hi folks
As some of you could already know by looking into the d-gis repository,
HDF4 4.2r4 edition packaging is in progress, since quite a long time. 

Historically, Debian provided for years a C/Fortran mixed shared lib 
for HDF4. This was different in respect with upstream, who provided 
at the time only not-shared versions of the two libs. The aim of
that was providing packaged program a single binary.  

This is now changed upstream: 4.2 is distributed with shared lib support
for C functions. The Fortran API is now still available, but only in
static mode. The whole library is libtoolized with a new appropriate 
SONAME and version 0:0:0. A prospective new Fortran-only shlib will 
be with all probability distributed as a unified libhdf4_fortran.so.
This is planned AFAIK.

So what? Well, I see no reasons to still diverge from upstream, because
that is not expected by the casual developer and it is not justifiable. 
We will do exactly the same, because any developers would expect so. 
This implies that we are going to DROP FORTRAN SUPPORT (both shared 
and static) and eventually reintroduce
it only WHEN the expected Fortran shlib edition will be available by
upstream, with a well defined interface. People that need to
link the Fotran HDF4 library will have to do that themselves.
This is not of great interest, because

 - they are very few :)
 - a static library can be easily embedded into their source package
 - that is what they should have yet done for years now.

If your code uses only C functions there's nothing to do, but for
changing your build-dep into 

libhdf4-dev | libhdf4g-dev

and rebuild. Note that libhdf4-dev also provides/replaces/conflicts
the old libhdf4g-dev so the transition should be smooth.

Another change in HDF4 distribution is of little general interest, 
but I'm reporting for all of you anyway: as you can be aware of or not, 
the NetCDF implementation embedded into HDF4 is NOT compatible with the
plain NetCDF and that causes known breakages in packages which both
use NetCDF and HDF4, such as GDAL. Therefore the new HDF4 package comes
with an -alt flavor which can be used as an alternative implementation
for those cases. In order to use the -alt flavor, you have to patch
sources to link by -ldf-alt and -lmfhdf-alt instead of the regular
libraries. Those are _very_ special cases and the resulting patch would
be _very_ Debian specific, but I see no other ways to have both regular
and alternative flavors cohexisting on the same box.

Finally, this transition will start ASAP, after passing the usual NEW 
queue, so stay tuned.

PS: Interested maintainers are added into CC field for this mail.

Francesco P. Lovergine

Reply to: