-
Notifications
You must be signed in to change notification settings - Fork 4
Migration to art 3.15
Lynn Garren edited this page Aug 25, 2026
·
2 revisions
This page will document changes needed when upgrading from art 3.14 to art 3.15.
- problem:
/scratch/garren/nu/v3_24_00/srcs/nugen/nugen/EventGeneratorBase/GENIE/GENIEHelper.cxx: In member function ‘void evgb::GENIEHelper::ExpandFluxFilePatternsDirect()’:
/scratch/garren/nu/v3_24_00/srcs/nugen/nugen/EventGeneratorBase/GENIE/GENIEHelper.cxx:1974:20: error: ‘void cet::split_path(const std::string&, std::vector<std::__cxx11::basic_string<char> >&)’ is deprecated: use cet::split_search_path() [-Werror=deprecated-declarations]
1974 | cet::split_path(fFluxSearchPaths,dirs);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /scratch/garren/nu/v3_24_00/srcs/nugen/nugen/EventGeneratorBase/GENIE/GENIEHelper.cxx:172:
/products/cetlib/v3_19_00/slf7.x86_64.e28.prof/include/cetlib/split_path.h:15:55: note: declared here
15 | [[deprecated("use cet::split_search_path()")]] void split_path(
| ^~~~~~~~~~
- solution:
@@ -169,7 +169,7 @@
#include "art/Framework/Services/Registry/ServiceHandle.h"
#include "cetlib/search_path.h"
#include "cetlib/getenv.h"
-#include "cetlib/split_path.h"
+#include "cetlib/split_search_path.h"
#include "cetlib_except/exception.h"
#include "fhiclcpp/ParameterSet.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
@@ -1971,7 +1971,7 @@ namespace evgb {
if ( fFluxType.find("tree_") == 0 ) randomizeFiles = true;
std::vector<std::string> dirs;
- cet::split_path(fFluxSearchPaths,dirs);
+ dirs=cet::split_search_path(fFluxSearchPaths);
if ( dirs.empty() ) dirs.push_back(std::string()); // at least null string
glob_t g;
problem:
[ 73%] Generating ROOTCint dictionary in nuevdb/EventDisplayBase
In file included from input_line_9:10:
In file included from /scratch/garren/nu/v3_24_00/srcs/nuevdb/nuevdb/EventDisplayBase/ServiceTable.h:9:
In file included from /products/fhiclcpp/v4_19_00/include/fhiclcpp/ParameterSet.h:12:
/products/fhiclcpp/v4_19_00/include/fhiclcpp/coding.h:202:16: error: out-of-line definition of 'encode' does not match any declaration in namespace 'fhicl::detail'
fhicl::detail::encode(T const& value)
^~~~~~
Error: /products/root/v6_30_06/Linux64bit+3.10-2.17-e28-p3915-prof/bin/rootcling: compilation failure (/scratch/garren/nu/v3_24_00/e28p/build_slf7.x86_64/nuevdb/slf7.x86_64.e28.prof/lib/libEventDisplayBase576b2759d4_dictUmbrella.h)
- This problem dates back to https://cdcvs.fnal.gov/redmine/issues/28702, where the event display required dictionaries built with rootcint.
- problem reported: https://github.com/art-framework-suite/fhicl-cpp/issues/18
- This problem is fixed in fhiclcpp v4_19_02. We will need a new critic suite.
- art v3_15_01
- canvas v3_17_01
- canvas_root_io v1_14_02
- gallery v1_23_02
- clhep v2_4_7_2
- s133
Because art 3.15 uses c++20 concepts, only e28 (gcc v13_1_0) is supported.