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.¶
GCC4.9.2 (new qualifiers e6 and gcc491).
CMake3.1.2 (some new CMake policy warnings -- see build system changes for details).
Python2.7.9 (SSL security improvements, integrated PIP).
GCCXML20140718a (local patch for OS X system header issues).
TBonjourBrowserfeature has been removed from the OS X builds due to interactions between GCC and system headers.
Other external packages may have received local "tweak" updates to support an e7-qualified build.
Build system changes (
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:
Verbose: print extra information about the commands being executed at each step.
--debug-outputto the CMake command-line options.
--traceto the CMake command-line options.
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
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.
- Timing measurement issues (features #939, #3598, #7751, bugs #2979 and #6344).
These issues have been resolved by providing a new service,
TimeTracker. The existing
Timingservice 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
SimpleMemoryCheckservice 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
respondToOpenInputFile()puts histograms in the wrong folder.
TFileServiceshould now handle ROOT directory changes for all entry points.
- Feature #3735: command line switch to write up the final state of the .fcl file.
--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.
get_if_presentversions are now available by providing a
void decode(boost::any const &, art::InputTag &)function in the
- 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.
TFileService::make()overload set has been reduced via the use of variadic templates (see source:art/Framework/Services/Optional/TFileDirectory.h@v1_13_00#L27).
- The new
TFileService::make_and_register()templates provide for the automatic naming and registration in the ROOT directory of those ROOT objects that may require it, such as
TGraph. See source:art/Framework/Services/Optional/TFileDirectory.h@v1_13_00#L33 for details.
- 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.
art::EDFilter::Failremove all possible ambiguity about the expected meaning of
falsereturn values to
- Bug #2473: No error when services present in two places in .fcl.
services.userparameter namespace is now vestigial. User services will be configured if found in either
services.user. It is an error to configure the same service in both places. It is recommended that users discontinue the use of
- 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.
- During the running of art tests, the test of the
MemoryTrackerservice 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
cet_test()where the program under test is an art executable configured to use the
MemoryTrackerservice. The correct mitigation in third-party packages is to use
cetbuildtools4.07.03 or later for the build of those packages.