Nexus 4 Release Notes
System Requirements
MXML XML Parsing Library
Version 2.2.2 of mxml is required. Earlier versions have a bug and the
XML API will not work. This package can be downloded in both source and
binary rpm form and is
also available as part of Fedora
Extras. IMPORTANT
NOTE: Debian also provides the mxml package, but it based on 2.0 and
will not work properly.
Building Notes
NAG F90/F95 Compiler
The NAG compiler needs the -mismatch flag to be specified or else it
will not compile NXmodule.f90 This is achieve by running configure with
the FCFLAGS environment variable set to contain the flag e.g.
env FCFLAGS="-mismatch" ./configure --with-f90=f95
New Features
The following items are features added to the NeXus API to provide new
functionality to the core library or to assist in the build process.
- Extended XML-API to handle unlimited dimensions
- Add building of Doxygen documentation
- Add support for two dimensional character arrays (HDF4 and HDF5
only)
- Added group attribute support to HDF4 (2006/05/02). Requires HDF4
version (???)
- Add NXmakenamedlink (2007/01/09) to all three file formats (external
linking)
- Add NXprintlink
- Improved link testing in test suite
- API can now read generic HDF5 files, such as those produced by
matlab
- Add facility to enable/disable error reporting
- New NXsummary tool for summarising contentes of a NeXus file
- Fortran 90 API now works with gfortran 4.2 and above as well as with
G95
- PYTHON and TCL bindings provided via a SWIG
interface
- Additional NXtranslate translators: SPEC, ESRF-EDF
Changed Features
The following aspects of the API have changed in a potentially
non-backward compatible way
- The JAVA API now uses org.nexusformat rather than
gov.anl.neutron.nexus
Known Issues
The main problems are summarised here - for a complete list see all
reported 4.0.0
issues
- The Fortran 90 part of testsuite fails with the Absoft compiler on
MacOSX (it passes with g95 and gfortran (4.2)) details
here
- NXputattr assumes NULL termination of NX_CHAR attributes, which is
usually the case in C but not true for JAVA. A workaround is to add
‘\0’ manually. This error has been fixed in the code and will be
available in the next release. More information is available in the
bug report
Miscellaneous bug fixes
The following items are bugs reported in the 3.x releases and resolved
for the 4.0 release.
- Leading and trailing whitespace is stripped from char data on a
read; this can be disabled by passing the NXACC_NOSTRIP option to
NXopen
- Fix problems with MXML (what problems?)
- Improve test procedures when not all libraries are present
- Correct sourcepath for javadoc
- Updated makefiles for swig bindings (python, tcl)
Upcoming Features
Work on these features is still in progress. They are expected to be
part of the NeXus 4.1 release.
- Add skeletal utility functions (NXU) to API (2005/04/26)