Software for Liquid Argon time projection chambers
This is an attempt to track all the “breaking” changes which require associated updates to experiment code.
For ease of navigation, older breaking changes have been moved to Breaking Changes prior to v07_00_00
See larreco PR 58
Add MinNHits parameter to SpacePointSolver.fcl. The default value of MinNHits is 20. This number was previously hardcoded in
larreco/SpacePointSolver/SpacePointSolver_module.cc
cet_find_library( PANDORASDK NAMES PandoraSDK PATHS ENV PANDORA_LIB NO_DEFAULT_PATH)
cet_find_library( PANDORAMONITORING NAMES PandoraMonitoring PATHS ENV PANDORA_LIB NO_DEFAULT_PATH)
/cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_08_03/include/art_root_io/TFileDirectory.h:88: undefined reference to `art::detail::RootDirectorySentry::~RootDirectorySentry()'
add
art_root_io::TFileService_service
art_root_io::tfile_support
#include "larcore/CoreUtils/ServiceUtil.h"
for lar::providerFrom
#include "art/Framework/Services/Registry/ServiceHandle.h"
for art::ServiceHandle
#include "larcore/Geometry/Geometry.h"
for geo::Geometry
#include "art/Framework/Principal/Run.h"
test/Geometry/geometry_unit_test_base.h
has been moved to larcorealg/TestUtils/geometry_unit_test_base.h
test/Geometry/
headers are now larcorealg/test/Geometry/
lardataobj_OpticalDetectorData
was unnecessary and effectively empty. It can safely be remove from link lists.CMakeFiles/WireCellubsim.dir/ReweightedDepoTransform.cxx.o: In function `boost::stacktrace::frame::name[abi:cxx11]() const':
/products/boost/v1_75_0/Linux64bit+3.10-2.17-e20-prof/include/boost/stacktrace/detail/frame_unwind.ipp:94: undefined reference to `dladdr'
CMakeFiles/WireCellubsim.dir/ReweightedDepoTransform.cxx.o: In function `boost::stacktrace::detail::location_from_symbol::location_from_symbol(void const*)':
/products/boost/v1_75_0/Linux64bit+3.10-2.17-e20-prof/include/boost/stacktrace/detail/location_from_symbol.hpp:31: undefined reference to `dladdr'
635: CMake Error at /cvmfs/larsoft.opensciencegrid.org/products/cetmodules/v3_06_01/Modules/private/CetOverrideFindPackage.cmake:174 (_find_package):
636: Found package configuration file:
637:
638: /cvmfs/larsoft-ib.opensciencegrid.org/LArSoft/LArSoft_custom_slf7_e20_prof_20220223_171203/localProducts_LArSoft_LArSoft_lar_ci_e20_prof/lardataobj/v09_05_01/slf7.x86_64.e20.prof/lib/lardataobj/cmake/lardataobjConfig.cmake
639:
640: but it set lardataobj_FOUND to FALSE so package "lardataobj" is considered
641: to be NOT FOUND. Reason given by package:
642:
643: The following imported targets are referenced, but are missing:
644: larcoreobj::SummaryData
find_ups_product(larcoreobj)
find_ups_product(larcorealg)
find_ups_product(lardataobj)
find_ups_product(lardataalg)
When was committed: v09_31_00
Motivation: mrb 5 and cetbuildtools 8 are required when building with art 3.09 and later
Fix: Please see the Comments about mrb 5 and cetbuildtools 8 if you have problems.
When was committed: v09_21_00
Motivation: Breaking changes were introduced in GENIE v3 which made the previous implementation of GenieWeightCalc incompatible. Slides here
Fix: See the technote
When was committed: v09_16_00
Motivation: update larsoft to use art 3.06
Affects: user or experiment code
Failure when not fixed: Compilation errors or warnings.
In file included from /products/root/v6_22_06a/Linux64bit+3.10-2.17-e19-p383b-prof/include/TPaveStats.h:16,
from /home/garren/scratch/larsoft/uboone/srcs/ubana/ubana/Calibrations/Lifetime_module.cc:67:
/products/root/v6_22_06a/Linux64bit+3.10-2.17-e19-p383b-prof/include/TVirtualPaveStats.h:33:43: error: extra ‘;’ [-Werror=pedantic]
virtual TObject *GetParent() const = 0;;
^
-
cc1plus: all warnings being treated as errors
Fix: remove the -pedantic flag in the affected subdirectory
diff --git a/ubana/Calibrations/CMakeLists.txt b/ubana/Calibrations/CMakeLists.txt
index 9299a7dd..e2bad7c3 100644
--- a/ubana/Calibrations/CMakeLists.txt
+++ b/ubana/Calibrations/CMakeLists.txt
@@ -1,4 +1,6 @@
+cet_remove_compiler_flags(CXX -pedantic)
+
add_subdirectory(Optical)
art_make( BASENAME_ONLY
Contact: The Scisoft Team
When was committed: v09_13_00
Motivation: separate tf, keras, and trtis
Affects: user or experiment code (rarely)
Fix: run LArRecodnnNewDirs.sh
Contact: The Scisoft Team
When was committed: v09_12_00
Motivation: nutools EventDisplayBase is now in nuevdb
Affects: user or experiment code
Failure when not fixed: Compilation or linking errors.
Fix: use feature/gp_issue24328
More information: larcore PR 6, #24328, and Geometry configuration check breaking change documentation
Contact: Gianluca Petrillo
When was committed: v09_00_00
Contact: The Scisoft Team
When was committed: v08_36_00
Motivation: nutools EventDisplayBase is now in nuevdb
Affects: user or experiment code
Failure when not fixed: Compilation or linking errors.
Fix: run UseNuevdb.sh (found in nutools v3_05_00 or later)
Contact: The Scisoft Team
When was committed: v08_36_00
Motivation: updated dependency from art
Affects: user or experiment code
Failure when not fixed: cmake and compilation errors
Fix: use cetbuildtools v7_14_00 or later
Contact: The Scisoft Team
When was committed: v08_36_00
Motivation: Move from art v3_02 to art v3_03
Affects: user or experiment code
Failure when not fixed: Compilation or linking errors.
Fix: see the art series 3.03 page for art breaking changes
Contact: The Scisoft Team
When was committed: v08_35_01
Motivation: See https://indico.fnal.gov/event/22319/contribution/2/material/slides/0.pdf
Affects: Certain loops that did not use an explicit unsigned int.
Failure when not fixed: Compilation errors.
/home/garren/scratch/larsoft/v08_35_01/srcs/ubcore/ubcore/BurstNoiseMetrics/BurstNoiseMetrics_module.cc:
In member function ‘virtual void BurstNoiseMetrics::produce(art::Event&)’:
/home/garren/scratch/larsoft/v08_35_01/srcs/ubcore/ubcore/BurstNoiseMetrics/BurstNoiseMetrics_module.cc:162:20:
error: comparison between signed and unsigned integer expressions
[-Werror=sign-compare]
for(int k = 0; k < allrawdigits_vec.at(1).Samples(); k++){
//UberWaveform Calculations
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fix:
- for(int k = 0; k < allrawdigits_vec.at(1).Samples(); k++){ //UberWaveform Calculations
+ for(unsigned int k = 0; k < allrawdigits_vec.at(1).Samples(); k++){ //UberWaveform Calculations
Contact: The Scisoft Team
When was committed: v08_33_00
Motivation: hard-coded values conflict with ICARUS detector (see issue #23457)
Affects: users of LArSoft Calorimetry
module
Failure when not fixed: possible differences in calorimetry of badly reconstructed tracks
Fix: none needed; to restore the old behaviour, add to Calorimetry
module configuration: NotOnTrackZcut: -100.0
Contact: Gianluca Petrillo
When was committed: v08_31_00
Motivation: Use artdaq_core 3.05.02
Affects: Any user code that builds with artdaq_core v3_05_00 or later.
Failure when not fixed: Compilation or linking errors.
Fix: link with ${ARTDAQ-CORE_UTILITIES}
, which is defined in artdaq_coreConfig.cmake
Contact: The Scisoft Team
When was committed: v08_31_00
Motivation: new release of root to resolve an I/O rule problem
Affects: user code initializing X11 graphics on macOS.
Failure when not fixed: Compilation or linking errors.
/Users/macdev/workspace/build-larsoft/BUILDTYPE/debug/QUAL/s91-c2/label1/swarm/label2/OSX-10.14/build/larpandora/v08_07_17-buildFW/src/larpandora/RootGraphics/RootGraphicsEnabler.cxx:24:10: fatal error: 'TGX11.h' file not found
#include "TGX11.h" // this header currently triggers a compiler error,
^~~~~~~~~
1 error generated.
Fix:
With root v6_18_xx, macOS builds must use the native macOS COCO graphics interface.
Use the root generic graphics initialization instead of explicit X11 initialization.
@@ -17,7 +17,6 @@
#include "TApplication.h"
#include "TRootApplication.h"
#include "TGClient.h"
-#include "TGX11.h"
#include "TRint.h"
#include "TSystem.h"
#include "TSysEvtHandler.h"
@@ -50,9 +49,7 @@ namespace evdb{
else {
gROOT->SetBatch(kFALSE);
if (gClient==0) {
- gSystem->Load("libGX11.so");
- gVirtualX = new TGX11("X11","X11 session");
- new TGClient(getenv("DISPLAY"));
+ app->InitializeGraphics();
}
}
Contact: The Scisoft Team
When was committed: v08_28_01
Motivation: remove unnecessary headers and link time libraries
Affects: user code
Failure when not fixed: Compilation or linking errors.
Fix:
Add appropriate headers to the code. It may also be necessary to add libraries to the cmake link list. If available, use feature/knoepfel_rm_unused_headers.
When was committed: v08_28_00
Motivation: upgrade to genie v3_00_06.
Affects: user code using GENIE
.
Failure when not fixed: Compilation or linking errors.
Fix:
Run UseGenie3.sh (found in nugen v1_03_00 and later). This script will update the headers.
There is NO one-to-one mapping from genie v2 libraries to genie v3 libraries. Please use the provided feature branch, feature/team_for_v08_28_00.
The genie_xsec qualifiers have also changed.
When was committed: v08_27_00
Motivation: separate GEANT4 interface from the rest of nutools.
Affects: user code using G4Base
, MagneticField
, and ParticleNavigation
.
Failure when not fixed: Compilation or linking errors.
Fix:
Run UseNuG4.sh and add find_ups_product(nug4)
to the top level CMakeLists.txt file.
The migration assistants is available after a setup of nutools v3_02_00 or later.
Contact: The Scisoft Team
When was committed: v08_22_00
Motivation: separate GENIE interface from the rest of nutools. Also split NuRandomService into its own package.
Affects: user code calling GENIEHelper
and NuRandomService
.
Failure when not fixed: Compilation or linking errors.
Fix:
For packages using NuRandomService
, run UseNuRandom.sh
For packages using GENIE, run UseNuGen.sh
Both migration assistants are available after a setup of nutools v3_00_00 or later.
Contact: The Scisoft Team
When was committed: v08_15_00
Motivation: allow exploitation of detector symmetries to reduce the size of the photon visibility libraries.
Affects: user code calling phot::PhotonVisibilityService
, plus code using some more hidden LArSoft utility for managing voxelized volumes.
Failure when not fixed: Compilation or linking errors.
Fix: Several different cases are possible. Please see the additional material slides in the presentation of the new feature at LArSoft coordination meeting on April 9, 2019 .
Contact: Gianluca Petrillo
When was committed: v07_12_00
New recob::Track interface introduced in early 2017. This came with the deprecation of several outdated features. In many cases such features were maintained for backwards compatibility: dQ/dx (fdQdx data member, NumberdQdx and DQdxAtPoint methods), NumberFitMomentum method, various methods based on TVector3 or TMatrixD, old constructors. After almost 2 years it’s time to cleanup the interface from the old junk (indeed all those concepts are not actively used anymore, still they are present in a large fraction of the larsoft code)
Failure when not fixed: Compilation error.
Fix:
Several different cases are possible. Please see this presentation for an overview and a list of the most common changes.
Contact: The Scisoft Team