mlpack no longer compiles on RHEL 7 / CentOS 7
envgap__mlpack__mlpack-2939
01 / FAILURE SIGNATURE
As reported upstream
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/precision.hpp:41:83: error: redeclaration ‘int boost::math::tools::digits()’ differs in ‘constexpr’
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
eadaac9b9f5384291d29d48bd02d9bd64b0d20df- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
mlpack/mlpack #2939 · read the original issue
Tried to compile mlpack master (as of 07 May 2021) on a standard RHEL 7 / CentOS 7 box and got this:
```
(...)
-- Could NOT find Boost: Found unsuitable version "1.53.0", but required is at least "1.58" (found /usr/include)
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
(...)
-- Found Boost: /home/blah/git/mlpack-master/build/deps/boost_1_76_0/ (found version "1.76.0")
(...)
In file included from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/config.hpp:61:0,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/variant/detail/config.hpp:16,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/variant/variant_fwd.hpp:16,
from /home/blah/git/mlpack-master/build/deps/cereal-1.3.0/include/cereal/types/boost_variant.hpp:41,
from /home/blah/git/mlpack-master/src/mlpack/prereqs.hpp:91,
from /home/blah/git/mlpack-master/build/src/mlpack/cotire/mlpack_CXX_prefix.cxx:4,
from /home/blah/git/mlpack-master/build/src/mlpack/cotire/mlpack_CXX_prefix.hxx:4:
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/precision.hpp:41:83: error: redeclaration ‘int boost::math::tools::digits()’ differs in ‘constexpr’
inline BOOST_MATH_CONSTEXPR int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) BOOST_NOEXCEPT
^
In file included from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/precision.hpp:16:0,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/fraction.hpp:13,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/special_functions/gamma.hpp:19,
from /home/blah/git/mlpack-master/src/mlpack/core/kernels/spherical_kernel.hpp:13,
from /home/blah/git/mlpack-master/src/mlpack/core.hpp:109,
from /home/blah/git/mlpack-master/src/mlpack/bindings/tests/clean_memory.cpp:14:
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/policies/policy.hpp:25:15: error: from previous declaration ‘constexpr int boost::math::tools::digits()’
constexpr int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) noexcept;
(...)
In file included from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/series.hpp:16:0,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/special_functions/gamma.hpp:18,
from /home/blah/git/mlpack-master/src/mlpack/core/kernels/spherical_kernel.hpp:13,
from /home/blah/git/mlpack-master/src/mlpack/core.hpp:109,
from /home/blah/git/mlpack-master/src/mlpack/bindings/cli/print_help.hpp:15,
from /home/blah/git/mlpack-master/src/mlpack/bindings/cli/print_help.cpp:13:
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/config.hpp:261:77: error: redeclaration ‘T boost::math::tools::epsilon()’ differs in ‘constexpr’
# define BOOST_MATH_NOEXCEPT(T) noexcept(boost::is_floating_point<T>::value)
^
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/precision.hpp:246:82: note: in expansion of macro ‘BOOST_MATH_NOEXCEPT’
inline BOOST_MATH_CONSTEXPR T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T)) BOOST_MATH_NOEXCEPT(T)
^
In file included from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/precision.hpp:16:0,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/tools/fraction.hpp:13,
from /home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/special_functions/gamma.hpp:19,
from /home/blah/git/mlpack-master/src/mlpack/core/kernels/spherical_kernel.hpp:13,
from /home/blah/git/mlpack-master/src/mlpack/core.hpp:109,
from /home/blah/git/mlpack-master/src/mlpack/bindings/cli/print_help.hpp:15,
from /home/blah/git/mlpack-master/src/mlpack/bindings/cli/print_help.cpp:13:
/home/blah/git/mlpack-master/build/deps/boost_1_76_0/boost/math/policies/policy.hpp:27:13: error: from previous declaration ‘constexpr T boost::math::tools::epsilon()’
constexpr T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T)) noexcept(std::is_floating_point<T>::value);
(...)
```
RHEL 7 / CentOS 7 has gcc 4.8 as the default compiler.
```
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
```
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]