University of Utah
Re: Release of libSBML-5.4.0
22 Feb '12 08:39
I'm having two issues with this build.
1) The namespace fix that you made did not solve the problem that I reported earlier. Namely, if I import a COPASI file which uses the "sbml:" tags and try to merge it with a model which does not use them, I still end up with namespace errors and dropped information.
2) If I try to use my fix before adding items, the program crashes.
3) I get errors whenever I call checkConsistency:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: org.sbml.libsbml.libsbmlJNI.SBMLDocument_checkConsistency__SWIG_1(JLorg/sbml/libsbml/SBMLDocument;)J
at org.sbml.libsbml.libsbmlJNI.SBMLDocument_checkConsistency__SWIG_1(Native Method)
On Feb 15, 2012, at 11:22 AM, Frank T. Bergmann wrote:
> We are pleased to announce the release of libSBML-5.4.0 which is
> available for download from
> Version 5.4.0 (2012-02-15)
> STABLE RELEASE
> * New features
> - Basic validation of MIRIAM compliant RDF annotations that
> are parsed into ModelHistory or CVTerm objects has been
> added to facilitate the use of annotations that are not
> yet quite complete. Warnings are now issued relating to
> whether or not the rdf:about attribute accurately points to
> the metaid of the containing object and whether the object
> that was created was consisdered a valid object in the
> attributes and subelements that are required.
> - It has been noted that unless the checkConsistency function is
> called immediately after reading an SBML document, it does not
> report all potential errors. Since users may wish to apply the
> function to a model being constructed this seems to be a
> disadvantage of the function. However, as this function has been
> in libSBML for many years it was decided not to alter the
> functionality but to add a new function 'validateSBML' which, when
> called from a document object, will force a write and read of the
> in memory object and report validation errors for the object as
> written. Thus, all errors will be reported with line numbers that
> would correspond to the document if written out.
> - Conversion of a model containing FunctionDefinitions to L1
> is now supported.
> - Conversion of a model containing InitialAssignments to L2V1
> and L1 is now supported.
> - There is a new isSetBody() function for the FunctionDefinition
> class that returns true if the body of the lambda function
> has been set.
> - The MATLAB/Octave binding function OutputSBML now takes an
> additional optional flag (extensions_allowed defaulting to true)
> that allows a user to specify whether the MATLAB_SBML structure
> should be considered valid if it contains any additional fields.
> - Multiple namespaces using the same prefix are not allowed in XML.
> The function that added XMLNamespaces in libSBML checks for an
> existing namespace with the prefix of the namespace being added
> and overwrites the original if a duplicate is found. This
> behaviour meant that it was possible to unintentionally remove
> the sbml namespace. The behaviour of the function has been altered
> such that if the namespace being added has a prefix that duplicates
> that of the existing sbml namepace then the function returns failure
> and the new namespace is not added. Should the sbml namespace need
> to be replaced it can be done by using the remove function before
> adding the new namespace.
> - SBase objects that occur in Level 3 package code need to keep
> track of the namespace of the package to which they belong. However,
> a conversion might alter the namespace; for example with layout
> where the level 2 layout annotation has its own namespace.
> The getURI function has been altered to adopt the approach used for
> tracking the core sbml namespace of any object i.e. the namespaces of
> the containing document take precedence and the namespace stored on
> an actual object is only considered if it does not belong to a document.
> An additional function getElementNamespace() can be used to obtain
> the namespace stored on the actual object.
> * Bug fixes
> - Tracker issue #3472034
> Line numbers were not being reported as accurately for L2 models
> as for L3 models. We have overviewed all the code relating
> to line numbers and improved the accuracy and consistency
> of line numbers reported. Thanks to Raimund Rˆnn for the report.
> - Tracker issue #3471902
> The documentation for the readSBMLFromString function claimed it
> prepend the xml encoding if it was not present. In fact, the
> function did not do this. This has been corrected. Thanks to
> Raimund Rˆnn for reporting it.
> - Tracker issue #3466104
> Fixed inaccuracies in the documentation. Thanks to Raimund Rˆnn
> for his careful reading and taking the time to report the errors.
> - Validation failed to notice that csymbol avogadro was not valid
> in Level 2. This is fixed.
> - Exceptions were not being correctly wrapped for language bindings
> causing potential code crashes. This has been corrected.
> - A number of minor issues with regard to conversion between levels
> and versions have been fixed. These include conversion from L3 to
> L1 failing to include a compartment; stopping conversion of models
> with hasOnlySubstanceUnits = true to L1; correcting conversion of
> L3 models with localParameters and preventing conversion of L3
> models where Events had Priorities or where the csymbol avogadro
> had been used.
> - The internalConsistency validator was incorrectly reporting that
> the an Event must have a listOfEventAssignments in a level 3 model.
> This restriction was actually removed in SBML Level 3.
> - The MathML subset used by SBML has plus/times/and/or/xor. In the
> MathML specification all these functions are nary functions i.e.
> they are permitted to have any number of arguments including zero.
> LibSBML had in fact restricted these functions to two or more
> arguments. This inconsistency has been corrected.
> - Validation was failing to apply constraints to L3 LocalParameters.
> This has been corrected.
> - Using a value for a units attribute that was not a builtin unit or
> the identifier of a UnitDefinition is invalid. However, the way in
> which this was reported varied according to which unit attribute
> caused the issue. This has been standardized to produce an id
> warning about a dangling UnitSIdRef and (if selected) unit warnings
> relating to the impact of the actual attribute.
> - In certain situations libSBML would write out both the stoichiometry
> attribute and a stoichiometryMath element. Since these are mutually
> exclusive this should not happen. It has been fixed.
> - The code that checked for consistent namespaces when adding one
> object to another was too restrictive. This has been sorted. Thanks
> to Chris Myers for reporting it.
> - Conversion between levels was inconsistent when it came to dealing
> with rational stoichiometry. This has been fixed.
> - The tests for the Perl bindings use of BigInt caused ActivePerl
> to crash on a Windows system. A workaround to prevent this has
> been put in place.
> - LibSBML class constructors currently throw exceptions rather than
> create objects with invalid SBML namespace/level/version
> information. This could potential result in code crashing
> when using one of the language bindings. These have now been
> rigorously tested and measures put in place to prevent such
> crashes from happening.
> - The SBMLTransforms class now correctly evaluates piecewise
> - The MathML infix converter now deals correctly with unary plus
> and times.
> - The help text for classes and methods in the Python library were
> previously unformatted, marked-up Doxygen input text, making the
> help text unhelpful. We wrote a new conversion program to process
> the marked-up text and produce plain-text documentation strings in
> the Python library. Users can now use the standard Python 'help'
> function to obtain help as expected.
> - The StripPackageConverter was not working as expected. This has been
> * Miscellaneous
> * Configuration/build system changes
> - As libSBML has evolved over the years the header files
> included by a given code file have expanded. This makes it
> necessary to recompile many files when only a single header
> file has been altered. In an attempt to eliminate unnecessary
> dependencies we have done an overview of the code. However,
> merely replacing existing include files with those that are
> actually required may cause build issues for other users. Thus we have
> introduced a LIBSBML_USE_STRICT_INCLUDES flag. This flag is
> not defined by default and thus no includes will change. Defining
> the flag means that code will only include the minimum number of
> necessary header files. We encourage people to consider using this
> flag as it may become the default behaviour in later versions of
> libSBML. The flag is available via the CMake build interface.
> EXPERIMENTAL RELEASE
> * New features
> - Code for the 'render' extension is now available.
> - All package code has been updated to use the new line/column
> number reporting mechanism.
> - Package language bindings have been updated to properly wrap
> exceptions and use covariant return types.
> - There is a new example with the 'layout' package that demonstrates
> conversion between the layout and render L3 package representation
> and the L2 annotation representation.
> Please report any problems you encounter using libSBML either to the
> mailing list firstname.lastname@example.org or using the issue tracker
> for libSBML at
> Frank, Sarah & Mike
> To manage your libsbml-development list subscription, visit
> For a web interface to the libsbml-development mailing list, visit
> For questions or feedback about the libsbml-development list,
> contact email@example.com
To manage your libsbml-development list subscription, visit
For a web interface to the libsbml-development mailing list, visit
For questions or feedback about the libsbml-development list,
Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)