Project

General

Profile

1.13.00

02/13/2015

Service and other issues delayed from 1.10.00

100%

33 issues   (33 closed — 0 open)

Art Suite Release Notes 1.13.00 (2015/02/13).

This is an important update to the art suite, and contains many new features and bug fixes. Please read all the release notes for art and its dependencies to learn what may be applicable to you.

Platform and compiler support.

  • This is the first release supporting Yosemite.
  • Support is dropped for e5 and GCC 4.8.2 as the art suite starts to take advantage of C++2014 language and library features (see previous release notes for details).
  • Support continues for e6 and GCC 4.9.1, with compilation to the C++2014 standard.
  • New support for e7 and GCC 4.9.2 (required for Yosemite) (assumes compilation of C++ to the ISO 2014 standard).

External package changes.

  • GCC 4.9.2 (new qualifiers e6 and gcc491).
  • CMake 3.1.2 (some new CMake policy warnings -- see build system changes for details).
  • Boost 1.57.0.
  • Python 2.7.9 (SSL security improvements, integrated PIP).
  • SQLite 3.08.08.02 (performance).
  • MySQL 5.5.42.
  • PostGresQL 9.1.15.
  • Intel TBB 4.3.3.
  • CLHEP 2.2.0.5.
  • GCCXML 20140718a (local patch for OS X system header issues).
  • ROOT 5.34.25.
    The TBonjourBrowser feature has been removed from the OS X builds due to interactions between GCC and system headers.
  • GDB 7.8.2.

Other external packages may have received local "tweak" updates to support an e7-qualified build.

Build system changes (cetbuildtools, etc.).

cet_test() now has a more useful, filtered reference facility allowing one's own filter to be substituted for the default cetbuildtools:source:bin/filter-output. See the documentation in cetbuildtools:source:CetTest.cmake for more information.

mrb supports a wider range of package configurations. Please let us know if you continue to encounter problems.

simple_plugin and friends support the SOURCE directive to specify a particular source file(s) for building a plugin instead of assuming a single source with a name calculated from the plugin name (which is still the default behavior). See the documentation in art:source:Modules/BuildPlugins.cmake and cetbuildtools:source:Modules/BasicPlugin.cmake.

buildtool has been enhanced with new options:

  • -v
    Verbose: print extra information about the commands being executed at each step.
  • --cmake-debug
    Add --debug-output to the CMake command-line options.
  • --cmake-trace
    Add --trace to the CMake command-line options.
  • --deleted-headers[s]=<header>[,<header>]
    Indicate that named headers have been removed from the source, to allow removal and regeneration of dependency files containing references to same. This is an alternative to requiring a full rebuild if a removed header is required by a generated file, such as a _dict.cpp file.

As always, see the output of buildtool --help for full details.

Art suite highlights.

As usual, one should review the release notes pages for the products comprising the art suite by following the links below. In highlight, though: FHiCL parse error output now attempts to be more helpful, the ParameterSet interface has been expanded, and messagefacility supports destination plugins, user-specified timestamp formats and single-line output.

Art 1.13.00.

New features:

  • Timing measurement issues (features #939, #3598, #7751, bugs #2979 and #6344).
    These issues have been resolved by providing a new service, TimeTracker. The existing Timing service remains available for those who rely on screen-scraping for processing timing information, but is now deprecated. The new service supports export of all data to an SQLite3 data file. See the TimeTracker documentation.
  • Memory checker issues (feature #5665, bugs #2233, #5664, #5831 and #6344).
    These issues have been resolved by providing a new service, MemoryTracker. The existing SimpleMemoryCheck service remains available for those who rely on screen-scraping for processing memory usage information, but is now deprecated. The new service supports export of all data to an SQLite3 data file. See the MemoryTracker documentation.
  • Feature #3448: Using TFileService within respondToOpenInputFile() puts histograms in the wrong folder.
    TFileService should now handle ROOT directory changes for all entry points.
  • Feature #3735: command line switch to write up the final state of the .fcl file.
    Choose between --debug-config (which emulates the behavior of env ART_DEBUG_CONFIG=<file>) and --config-out=<file>, which saves the final post-processed configuration in the specified file and then continues execution.
  • Feature #6097: Propose that art take over this helper function.
    ps.get<art::InputTag>(), ps.get<std::vector<art::InputTag>() and their get_if_present versions are now available by providing a void decode(boost::any const &, art::InputTag &) function in the art namespace.
  • Feature #6402: Add verbosity on fast cloning status in RootOutput module.
    The initial configured status of fast cloning is printed for each output module. Subsequent data-induced changes are recorded in the form of messagefacility messages.
  • Feature #6590: Some helpers for ROOT.
  • Feature #7140: Implement plugin sqlite3 destination of Issue #3982.
    This messagefacility destination plugin has been implemented using the functionality of art::Ntuple (see source:art/Ntuple/Ntuple.h). The SQLite3 schema follows that described in the documentation for the syslog-to-SQLite3 export script.
  • Feature #7524: Pass/Fail aliases for EDFilter return values.
    New constants art::EDFilter::Pass and art::EDFilter::Fail remove all possible ambiguity about the expected meaning of true or false return values to art::EDFilter::filter().

Bug fixes:

  • Bug #2473: No error when services present in two places in .fcl.
    The services.user parameter namespace is now vestigial. User services will be configured if found in either services or services.user. It is an error to configure the same service in both places. It is recommended that users discontinue the use of services.user.
  • Bug #4318: Floating point exception service likely to be only partially working.
    Floating point exception control service has been reviewed and correct operation verified for Linux. OS X operation is currently at-own-risk. Please report any problems with a new art issue.
  • Bug #7683: Pre/PostSource signals never invoked.
    This issue apparently pre-dates the fork from CMS. It has now been resolved.

Known issues:

  • During the running of art tests, the test of the MemoryTracker service could fail due to legitimate differences in memory allocation boundaries on different systems and under different load scenarios. These differences in output would extend to any third-party tests using the REF option of cet_test() where the program under test is an art executable configured to use the MemoryTracker service. The correct mitigation in third-party packages is to use cetbuildtools 4.07.03 or later for the build of those packages.

messagefacility 1.14.00 (new version).

fhicl-cpp 3.03.00 (new version).

cetlib 1.09.00 (new version).

cpp0x 1.04.09 (new version).

Time tracking
Estimated time 371.75 hours
Spent time 395.50 hours
Issues by
Bug

13/13

Feature

16/16

Support

4/4