[Nexus-developers] API state

Mark Koennecke Mark.Koennecke at psi.ch
Fri May 20 10:19:20 BST 2005

High everyone,

I fixed the issue with the XML-API by now. It actually was much more 
serious, the XML-API was
reading wrong numbers. Nobody noticed.... This was a bug in mxml which I 
resolved. Thus, the only
version of mxml which works is 2.2.2 as released yesterday!

There is another issue with the test not working under SL 3.0.4 and Suse 
Linux 9.2. Now, I spent a lot
of time with this. The first result was that the test programs would 
fail within libc if hdf5 was involved.
I tried various ways to improve on this by trying to initialize the hdf5 
library before use. The hdf5 library is
used even if hdf4 or xml files are read in order to test if a given file 
is hdf5. The hdf team told me that there
is no other  means of testing  for hdf5, no magic number. I obtained the 
best result when I put a
H5open into the top of the test program napi_test.c. My next guess was 
to run strace upon the problem. For
non unix guys: strace traces in much detail all system calls. This 
showed me that the segfault  was right after  a
call to munmap. Apparantly Linux memory maps files for reading. I also 
ran the program through valgrind, a
very thorough memory debugging program. This yielded no errors in our 
code or the hdf*, xml libraries.
I am now coming to the conclusion that the problem is in libc or gcc, 
both of which I do not wish to debug.
If someone experiences the problem she should update both gcc and libc 
to newer (or older?) versions.

There is still a small issue with the build process if you build a 
version including a recent version of hdf4 but
no hdf5. Then the -lsz is missing on the link. This can be overcome by 
LDFLAGS to "-Lpath-to-you-szlib -lsz" before running configure.

 What do you think?


More information about the NeXus-developers mailing list