ENDFtk icon indicating copy to clipboard operation
ENDFtk copied to clipboard

Error when compiling ENDFtk (14%)

Open chadforrest opened this issue 1 year ago • 2 comments

Dear Forum,

When building a new version of ENDFtk, compilation errors when trying to build a test.

sudo cmake -DCMAKE_BUILD_TYPE=Release PYTHON_EXECUTABLE=/etc/python3.12/ ../ make -j8

Here is the terminal output:

[ 13%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_predicate.cpp.o [ 13%] Building CXX object CMakeFiles/ENDFtk.python.dir/python/src/record/ListRecord.python.cpp.o [ 13%] Building CXX object CMakeFiles/ENDFtk.python.dir/python/src/record/TabulationRecord.python.cpp.o [ 13%] Building CXX object CMakeFiles/ENDFtk.python.dir/python/src/record/InterpolationRecord.python.cpp.o [ 13%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_quantifiers.cpp.o [ 13%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_string.cpp.o In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/range_fwd.hpp:20, from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/any_view.hpp:22, from /ENDFtk/python/src/views.hpp:11, from /ENDFtk/python/src/ENDFtk.python.cpp:7: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ [ 13%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_templated.cpp.o [ 13%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2.dir/catch2/matchers/internal/catch_matchers_impl.cpp.o [ 13%] Building CXX object CMakeFiles/ENDFtk.python.dir/python/src/record/DirectoryRecord.python.cpp.o [ 14%] Building CXX object CMakeFiles/ENDFtk.python.dir/python/src/record/TapeIdentification.python.cpp.o In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/ListRecord.hpp:8, from /ENDFtk/python/src/record/ListRecord.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/record/InterpolationBase.hpp:12, from /ENDFtk/src/ENDFtk/record.hpp:11, from /ENDFtk/src/ENDFtk/ControlRecord.hpp:7, from /ENDFtk/python/src/record/ControlRecord.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/TabulationRecord.hpp:9, from /ENDFtk/python/src/record/TabulationRecord.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/record/InterpolationBase.hpp:12, from /ENDFtk/src/ENDFtk/record.hpp:11, from /ENDFtk/src/ENDFtk/InterpolationRecord.hpp:8, from /ENDFtk/python/src/record/InterpolationRecord.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/record/InterpolationBase.hpp:12, from /ENDFtk/src/ENDFtk/record.hpp:11, from /ENDFtk/src/ENDFtk/DirectoryRecord.hpp:7, from /ENDFtk/python/src/record/DirectoryRecord.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ In file included from /ENDFtk/build/_deps/range-v3-src/include/range/v3/view/all.hpp:18, from /ENDFtk/src/ENDFtk/record/InterpolationBase.hpp:12, from /ENDFtk/src/ENDFtk/record.hpp:11, from /ENDFtk/src/ENDFtk/TapeIdentification.hpp:8, from /ENDFtk/python/src/record/TapeIdentification.python.cpp:6: /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3190:19: error: declaration of ‘template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >’ changes meaning of ‘invoke’ [-Wchanges-meaning] 3190 | using invoke = _t<impl<State, A>>; | ^~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:3185:34: note: used here to mean ‘using meta::invoke = typename Fn::invoke<A>’ 3185 | using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>, | ^~~~~~~~~~~~~ /ENDFtk/build/_deps/range-v3-src/include/meta/meta.hpp:541:11: note: declared here 541 | using invoke = typename Fn::template invoke<Args...>; | ^~~~~~ make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:90: CMakeFiles/ENDFtk.python.dir/python/src/record/ControlRecord.python.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:104: CMakeFiles/ENDFtk.python.dir/python/src/record/ListRecord.python.cpp.o] Error 1 make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:76: CMakeFiles/ENDFtk.python.dir/python/src/ENDFtk.python.cpp.o] Error 1 make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:146: CMakeFiles/ENDFtk.python.dir/python/src/record/DirectoryRecord.python.cpp.o] Error 1 make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:132: CMakeFiles/ENDFtk.python.dir/python/src/record/InterpolationRecord.python.cpp.o] Error 1 [ 14%] Linking CXX static library libCatch2.a make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:160: CMakeFiles/ENDFtk.python.dir/python/src/record/TapeIdentification.python.cpp.o] Error 1 [ 14%] Built target Catch2 [ 14%] Building CXX object _deps/catch2-build/src/CMakeFiles/Catch2WithMain.dir/catch2/internal/catch_main.cpp.o make[2]: *** [CMakeFiles/ENDFtk.python.dir/build.make:118: CMakeFiles/ENDFtk.python.dir/python/src/record/TabulationRecord.python.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:5157: CMakeFiles/ENDFtk.python.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 15%] Linking CXX static library libCatch2Main.a [ 15%] Built target Catch2WithMain make: *** [Makefile:146: all] Error 2

chadforrest avatar Sep 11 '24 23:09 chadforrest

This is an error in range-v3 it seems, which is an external dependency for ENDFtk. Which compiler and OS are you using?

We're actually in the process of updating ENDFtk to remove all of range-v3 from ENDFtk and are almost done with that. You can find this version on the feature/replace-range-v3 branch. There are a few outstanding issues with the Python interface where the data being returned is incorrect for a select few pieces of ENDFtk:

  • the angularDistributions function in MF4 is commented out for now
  • Python issues for E in MF1 MT458 PolynomialComponents
  • Python issues for MU and F in MF6 LAW1 TabulatedDistribution
  • Python issues for total, elastic, fission, capture, current_weighted_total in MF2 MT152
  • Python issues for MSIGMA in MF7 MT4 ScatteringLawConstants

You may want to try with the new version. This current latest release will most likely be replaced in the foreseeable future as soon as we have dealt with the above mentioned minor issues.

whaeck avatar Sep 12 '24 01:09 whaeck

Just to note that this branch is now in the develop branch. We will release this in a month or so.

whaeck avatar Oct 18 '24 21:10 whaeck

Hi @whaeck got exactly the same compilation error. Using Ubuntu 24.04 with g++13.3. No compilation issue with the develop branch.

wilfriedmonangeIRSN avatar Apr 08 '25 08:04 wilfriedmonangeIRSN