opm-models
opm-models copied to clipboard
Lots of warnings and compilation fails on Ubuntu LTS 20.04
Just tried again. Could this be due to recent changes?
[100%] Linking CXX shared module ../opm/simulators/simulators.cpython-38-x86_64-linux-gnu.so
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:69:7: warning: type ‘struct BlackOilIntensiveQuantities’ violates the C++ One Definition Rule [-Wodr]
69 | class BlackOilIntensiveQuantities
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:69:7: note: a type with different bases is defined in another translation unit
69 | class BlackOilIntensiveQuantities
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:49:7: warning: type ‘struct FvBaseElementContext’ violates the C++ One Definition Rule [-Wodr]
49 | class FvBaseElementContext
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:49:7: note: a different type is defined in another translation unit
49 | class FvBaseElementContext
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:585:25: note: the first difference of corresponding definitions is field ‘intensiveQuantitiesStashed_’
585 | IntensiveQuantities intensiveQuantitiesStashed_;
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:585:25: note: a field of same name but different type is defined in another translation unit
585 | IntensiveQuantities intensiveQuantitiesStashed_;
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:49:7: note: type ‘struct IntensiveQuantities’ itself violates the C++ One Definition Rule
49 | class FvBaseElementContext
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:61:12: warning: type ‘struct DofStore_’ violates the C++ One Definition Rule [-Wodr]
61 | struct DofStore_ {
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:61:12: note: a different type is defined in another translation unit
61 | struct DofStore_ {
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:62:29: note: the first difference of corresponding definitions is field ‘intensiveQuantities’
62 | IntensiveQuantities intensiveQuantities[timeDiscHistorySize];
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:62:29: note: a field of same name but different type is defined in another translation unit
62 | IntensiveQuantities intensiveQuantities[timeDiscHistorySize];
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:61:12: note: type ‘struct IntensiveQuantities’ itself violates the C++ One Definition Rule
61 | struct DofStore_ {
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbasediscretization.hh:334:7: warning: type ‘struct FvBaseDiscretization’ violates the C++ One Definition Rule [-Wodr]
334 | class FvBaseDiscretization
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbasediscretization.hh:334:7: note: a different type is defined in another translation unit
334 | class FvBaseDiscretization
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbasediscretization.hh:2005:17: note: the first difference of corresponding definitions is field ‘linearizer_’
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbasediscretization.hh:2005:17: note: a field of same name but different type is defined in another translation unit
2005 | Linearizer *linearizer_;
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbasediscretization.hh:334:7: note: type name ‘Opm::FvBaseLinearizer<Opm::Properties::TTag::EclFlowProblemTPFA>’ should match type name ‘Opm::TpfaLinearizer<Opm::Properties::TTag::EclFlowProblemTPFA>’
334 | class FvBaseDiscretization
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilextensivequantities.hh:53:7: warning: type ‘struct BlackOilExtensiveQuantities’ violates the C++ One Definition Rule [-Wodr]
53 | class BlackOilExtensiveQuantities
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilextensivequantities.hh:53:7: note: a type with different bases is defined in another translation unit
53 | class BlackOilExtensiveQuantities
| ^
/home/mblatt/src/opm/opm-simulators/ebos/eclproblem.hh:2731:12: warning: type ‘struct PffDofData_’ violates the C++ One Definition Rule [-Wodr]
2731 | struct PffDofData_
| ^
/home/mblatt/src/opm/opm-simulators/ebos/eclproblem.hh:2731:12: note: a different type is defined in another translation unit
2731 | struct PffDofData_
| ^
/home/mblatt/src/opm/opm-simulators/ebos/eclproblem.hh:2735:53: note: the first difference of corresponding definitions is field ‘diffusivity’
2735 | ConditionalStorage<enableDiffusion, Scalar> diffusivity;
| ^
/home/mblatt/src/opm/opm-simulators/ebos/eclproblem.hh:2735:53: note: a field of same name but different type is defined in another translation unit
2735 | ConditionalStorage<enableDiffusion, Scalar> diffusivity;
| ^
/home/mblatt/src/opm/opm-common/opm/material/common/ConditionalStorage.hpp:45:7: note: type name ‘Opm::ConditionalStorage<true, double>’ should match type name ‘Opm::ConditionalStorage<false, double>’
45 | class ConditionalStorage
| ^
/home/mblatt/src/opm/opm-common/opm/material/common/ConditionalStorage.hpp:102:7: note: the incompatible type is defined here
102 | class ConditionalStorage<false, T>
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseadlocallinearizer.hh:87:7: warning: type ‘struct FvBaseAdLocalLinearizer’ violates the C++ One Definition Rule [-Wodr]
87 | class FvBaseAdLocalLinearizer
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseadlocallinearizer.hh:87:7: note: a different type is defined in another translation unit
87 | class FvBaseAdLocalLinearizer
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseadlocallinearizer.hh:299:19: note: the first difference of corresponding definitions is field ‘localResidual_’
299 | LocalResidual localResidual_;
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseadlocallinearizer.hh:299:19: note: a field of same name but different type is defined in another translation unit
299 | LocalResidual localResidual_;
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseadlocallinearizer.hh:87:7: note: type name ‘Opm::BlackOilLocalResidual<Opm::Properties::TTag::EclFlowProblemTPFA>’ should match type name ‘Opm::BlackOilLocalResidualTPFA<Opm::Properties::TTag::EclFlowProblemTPFA>’
87 | class FvBaseAdLocalLinearizer
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/ecfv/ecfvdiscretization.hh:133:7: warning: type ‘struct EcfvDiscretization’ violates the C++ One Definition Rule [-Wodr]
133 | class EcfvDiscretization : public FvBaseDiscretization<TypeTag>
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/ecfv/ecfvdiscretization.hh:133:7: note: a type with different bases is defined in another translation unit
133 | class EcfvDiscretization : public FvBaseDiscretization<TypeTag>
| ^
/home/mblatt/src/opm/opm-models/opm/models/common/multiphasebasemodel.hh:152:7: warning: type ‘struct MultiPhaseBaseModel’ violates the C++ One Definition Rule [-Wodr]
152 | class MultiPhaseBaseModel : public GetPropType<TypeTag, Properties::Discretization>
| ^
/home/mblatt/src/opm/opm-models/opm/models/common/multiphasebasemodel.hh:152:7: note: a type with different bases is defined in another translation unit
152 | class MultiPhaseBaseModel : public GetPropType<TypeTag, Properties::Discretization>
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilmodel.hh:273:7: warning: type ‘struct BlackOilModel’ violates the C++ One Definition Rule [-Wodr]
273 | class BlackOilModel
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilmodel.hh:273:7: note: a type with different bases is defined in another translation unit
273 | class BlackOilModel
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:116:10: warning: type of ‘updateAll’ does not match original declaration [-Wlto-type-mismatch]
116 | void updateAll(const Element& elem)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:116:10: note: ‘updateAll’ was previously declared here
116 | void updateAll(const Element& elem)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:116:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:180:10: warning: type of ‘updateAllIntensiveQuantities’ does not match original declaration [-Wlto-type-mismatch]
180 | void updateAllIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:180:10: note: ‘updateAllIntensiveQuantities’ was previously declared here
180 | void updateAllIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:180:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:546:10: warning: type of ‘updateIntensiveQuantities_’ does not match original declaration [-Wlto-type-mismatch]
546 | void updateIntensiveQuantities_(unsigned timeIdx, size_t numDof)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:546:10: note: ‘updateIntensiveQuantities_’ was previously declared here
546 | void updateIntensiveQuantities_(unsigned timeIdx, size_t numDof)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:546:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:573:10: warning: type of ‘updateSingleIntQuants_’ does not match original declaration [-Wlto-type-mismatch]
573 | void updateSingleIntQuants_(const PrimaryVariables& priVars, unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:573:10: note: ‘updateSingleIntQuants_’ was previously declared here
573 | void updateSingleIntQuants_(const PrimaryVariables& priVars, unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:573:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:174:10: warning: type of ‘update’ does not match original declaration [-Wlto-type-mismatch]
174 | void update(const ElementContext& elemCtx, unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:174:10: note: ‘update’ was previously declared here
174 | void update(const ElementContext& elemCtx, unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:174:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:548:16: warning: type of ‘relativePermeability’ does not match original declaration [-Wlto-type-mismatch]
548 | Evaluation relativePermeability(unsigned phaseIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:548:16: note: ‘relativePermeability’ was previously declared here
548 | Evaluation relativePermeability(unsigned phaseIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:548:16: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:240:10: warning: type of ‘updateExtensiveQuantities’ does not match original declaration [-Wlto-type-mismatch]
240 | void updateExtensiveQuantities(unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:240:10: note: ‘updateExtensiveQuantities’ was previously declared here
240 | void updateExtensiveQuantities(unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:240:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:501:23: warning: type of ‘mobility’ does not match original declaration [-Wlto-type-mismatch]
501 | const Evaluation& mobility(unsigned phaseIdx, FaceDir::DirEnum facedir) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:501:23: note: ‘mobility’ was previously declared here
501 | const Evaluation& mobility(unsigned phaseIdx, FaceDir::DirEnum facedir) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:501:23: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
92 | explicit FvBaseElementContext(const Simulator& simulator)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: note: ‘__ct_comp ’ was previously declared here
92 | explicit FvBaseElementContext(const Simulator& simulator)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: warning: type of ‘__ct_base ’ does not match original declaration [-Wlto-type-mismatch]
92 | explicit FvBaseElementContext(const Simulator& simulator)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: note: ‘__ct_base ’ was previously declared here
92 | explicit FvBaseElementContext(const Simulator& simulator)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:92:14: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:129:10: warning: type of ‘updateStencil’ does not match original declaration [-Wlto-type-mismatch]
129 | void updateStencil(const Element& elem)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:129:10: note: ‘updateStencil’ was previously declared here
129 | void updateStencil(const Element& elem)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:129:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
167 | BlackOilIntensiveQuantities(const BlackOilIntensiveQuantities& other) = default;
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: note: ‘__ct_comp ’ was previously declared here
167 | BlackOilIntensiveQuantities(const BlackOilIntensiveQuantities& other) = default;
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: warning: type of ‘__ct_base ’ does not match original declaration [-Wlto-type-mismatch]
167 | BlackOilIntensiveQuantities(const BlackOilIntensiveQuantities& other) = default;
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: note: ‘__ct_base ’ was previously declared here
167 | BlackOilIntensiveQuantities(const BlackOilIntensiveQuantities& other) = default;
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:167:5: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:407:32: warning: type of ‘intensiveQuantities’ does not match original declaration [-Wlto-type-mismatch]
407 | const IntensiveQuantities& intensiveQuantities(unsigned dofIdx, unsigned timeIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:407:32: note: ‘intensiveQuantities’ was previously declared here
407 | const IntensiveQuantities& intensiveQuantities(unsigned dofIdx, unsigned timeIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:407:32: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:69:7: warning: type of ‘operator=’ does not match original declaration [-Wlto-type-mismatch]
69 | class BlackOilIntensiveQuantities
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:69:7: note: ‘operator=’ was previously declared here
69 | class BlackOilIntensiveQuantities
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:69:7: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:450:29: warning: type of ‘primaryVars’ does not match original declaration [-Wlto-type-mismatch]
450 | const PrimaryVariables& primaryVars(unsigned dofIdx, unsigned timeIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:450:29: note: ‘primaryVars’ was previously declared here
450 | const PrimaryVariables& primaryVars(unsigned dofIdx, unsigned timeIdx) const
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:450:29: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
154 | BlackOilIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: note: ‘__ct_comp ’ was previously declared here
154 | BlackOilIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: warning: type of ‘__ct_base ’ does not match original declaration [-Wlto-type-mismatch]
154 | BlackOilIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: note: ‘__ct_base ’ was previously declared here
154 | BlackOilIntensiveQuantities()
| ^
/home/mblatt/src/opm/opm-models/opm/models/blackoil/blackoilintensivequantities.hh:154:5: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:436:26: warning: type of ‘intensiveQuantities’ does not match original declaration [-Wlto-type-mismatch]
436 | IntensiveQuantities& intensiveQuantities(unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:436:26: note: ‘intensiveQuantities’ was previously declared here
436 | IntensiveQuantities& intensiveQuantities(unsigned dofIdx, unsigned timeIdx)
| ^
/home/mblatt/src/opm/opm-models/opm/models/discretization/common/fvbaseelementcontext.hh:436:26: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/home/mblatt/src/opm/opm-models/opm/models/parallel/tasklets.hh:102:18: error: ‘workerThreadIndex_’ is defined with tls model global-dynamic
102 | thread_local int TaskletRunnerHelper_<Dummy>::workerThreadIndex_ = -1;
| ^
/home/mblatt/src/opm/opm-models/opm/models/parallel/tasklets.hh:102:18: note: previously defined here as local-dynamic
102 | thread_local int TaskletRunnerHelper_<Dummy>::workerThreadIndex_ = -1;
| ^
/home/mblatt/src/opm/opm-models/opm/models/parallel/tasklets.hh:99:29: error: ‘taskletRunner_’ is defined with tls model global-dynamic
99 | thread_local TaskletRunner* TaskletRunnerHelper_<Dummy>::taskletRunner_ = nullptr;
| ^
/home/mblatt/src/opm/opm-models/opm/models/parallel/tasklets.hh:99:29: note: previously defined here as local-dynamic
99 | thread_local TaskletRunner* TaskletRunnerHelper_<Dummy>::taskletRunner_ = nullptr;
| ^
lto-wrapper: fatal error: /usr/bin/c++ returned 1 exit status
compilation terminated.
/usr/bin/ld: Fehler: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [python/simulators/CMakeFiles/simulators.dir/build.make:144: python/opm/simulators/simulators.cpython-38-x86_64-linux-gnu.so] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:3529: python/simulators/CMakeFiles/simulators.dir/all] Fehler 2
Lto has borked like that at least since 22.10
Lto has borked like that at least since 22.10
Some of the complaints look somewhat serious though: breaking of the one-definition rule for example. Should we look at this more carefully?