HDF5 binary differeence

I created a conversion application for a client using the HDF5 libraries. This application was working fine for them as of late 2024. I made some updates in 2025. It worked well on my desktop and I was able to convert their data for them, but they were not able to convert it themselves with the same application. They were not getting the output files at all.

I am trying to get this application working on their systems. I updated my HDF5 libraries to 2.0, updated my HDFView. I am able to generate complete output. They are getting an output file now, but just a little bit of header in there. Many HDF5 return code prints later and I’m not seeing anything. I opened both their output file and mine in hexed.it. There is a difference in the first couple of byte lines. I’m guessing it’s a dll version issue somewhere but I could use some help.

Theirs (bad) :
image

Mine (good) :

image

Thanks in advance!

I did find this page, but it really just made it more confusing.

The first 8 bytes should be the HDF5 File Signature and match.
89 48 44 46 0D 0A 1A 0A

The next bytes, bad good comment:

Version # of Super Block: 02 02 match but documentation says this should be 0 or 1, is this the problem?
Version # of Global Free-space Storage 08 08 match,
Version # of Root Group Symbol Table Entry: 08 08 match
Reserved (zero): 01 00 ***Is this the problem?


I am thinking the documentation I found is out of date and that I still have a version mismatch of something somewhere.

  1. You said you are now using HDF5 version 2.0. What is the HDF5 version that your client is using?
  2. Please use HDF5 diagnostic tools to evaluate differences between HDF5 files. Raw hex is very difficult to examine. Do not use hex, except as a last resort. You should have “h5dump” as a command line tool, as part of your HDF5 installed package. To begin, run “h5dump -BH filename.h5” on each file, and compare the outputs. (This works on Linux systems, but the instructions might be slightly different on Windows. I am not a Windows user.)

@julie, thanks for raising this issue. While you may have second thoughts about the HDF5 2.0.0 update, you did what I would recommend to anyone without hesitation. Bravo!

We published an HDF5 2.0.0 Library Migration Guide that starts with four common “myths” about HDF5 2.0.0. What you are seeing, I believe, is a form of what’s referred to as myth no. 3 in the document: All files written by 2.0.0 are unreadable by 1.x. The solution provided in the document reads: “If you need older compatibility, explicitly set bounds.” Now that may sound a little mysterious, but an example is given a few lines earlier Example 3: Creating files that older HDF5 can read. Would you mind trying that and reporting back?

Best, G.

dave.allured: What is the HDF5 version that your client is using?
They are using the reader and whatever files I put into the installer.

gheber: The upgrade was not a decision. The client needed a few minor fields changed, and the resultant app did not work for him.

Sorry for the long delay, life happened. You both responded quickly and I greatly appreciate it.

I added the lines to set the file access that you directed me to. It worked on my machine. I rebuilt the app and installer and have provided it to my client. We shall see.