[Nexus-developers] API state
Mark.Koennecke at psi.ch
Fri May 20 10:19:20 BST 2005
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