[Debian-med-packaging] Usage of private interface H5private.h in libsis-jhdf5-java 18.09.0-pre1

Bernd Rinn brinn at ethz.ch
Wed Sep 19 16:51:32 BST 2018


Hi Andreas,

On 09/19/2018 01:00 PM, Andreas Tille wrote:
> Hi Bernd,
> 
> On Wed, Sep 19, 2018 at 09:29:42AM +0200, Bernd Rinn wrote:
>>
>> - This fix is in commit 331b8cc (August 21st).
> 
> This really helped me to upload libsis-base now.  Thanks a lot.
> 
> Now I tried to build jhdf5 and was running into:
> 
> ...
> In file included from h5VLStrHelperImp.c:19:
> jni/h5jni.h:23:10: fatal error: H5private.h: No such file or directory
>  #include "H5private.h"
>           ^~~~~~~~~~~~~
> compilation terminated.
> In file included from h5fHelperImp.c:20:
> jni/h5jni.h:23:10: fatal error: H5private.h: No such file or directory
>  #include "H5private.h"
>           ^~~~~~~~~~~~~
> compilation terminated.
> In file included from h5lHelperImp.c:19:
> jni/h5jni.h:23:10: fatal error: H5private.h: No such file or directory
>  #include "H5private.h"
>           ^~~~~~~~~~~~~
> compilation terminated.
> ...
> 
> H5private.h is as the name said private to the hdf5 library and its
> definitions should not be used in stable interfaces.  Did you discussed
> with the hdf5 developers to move the definitions you need to a public
> interface?

Yes, I did. There are some methods that JHDF5 needs to work that the
HDF5 developers don't want (yet?) to include into their JNI interface.
One developer from the core team I talked to told me that he is actually
aware that "Variable-length String" support (a feature supported by
JHDF5) is currently quite limited in the JNI library and purposely
throws an exception to block certain use patterns, as the HDF Group
still focuses on supporting their own HDFView application with the JNI
library, rather than offering a general-purpose low-level Java interface.

The new version of JHDF5 (based on HDF 1.10) is actually a big
improvement over the old one (based on HDF 1.8) in this respect:

In the old version I had to copy the whole JNI layer and change it in
various places, i.e. that was a fork of The HDF Groups JNI library done
back in 2007. In the new version I use the JNI layer of the HDF Group
and only amend it with a few methods. These methods I add have to be
seen as part of the low-level API of HDF5 and thus use H5private.h in
order to avoid duplication of code.

Hope that helps.

Best regards,
Bernd

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3937 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20180919/9989aac7/attachment.bin>


More information about the Debian-med-packaging mailing list