Bug#982712: tiledarray: FTBFS: gemm_helper.h:168:30: error: expected initializer before ‘const’

2021-03-03 Thread Andrey Rahmatullin
Control: -1 fixed-upstream

Looks like this was caused by an update of libmadness-dev. Feel free to
reassign this RC bug there, as it broke API compatibility when updated
from 0.10.1~gite4aa500e-10.1 to 0.10.1+git20200818.eee5fd9f-1:
 now #defines "MADNESS_RESTRICT" instead of "restrict".
This seems to be fixed upstream at
https://github.com/ValeevGroup/tiledarray/commit/dbb665cb5e400aeebc39be12d015981078eff72b


-- 
WBR, wRAR


signature.asc
Description: PGP signature


Bug#982712: tiledarray: FTBFS: gemm_helper.h:168:30: error: expected initializer before ‘const’

2021-02-13 Thread Lucas Nussbaum
Source: tiledarray
Version: 0.6.0-5.2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20210213 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> /<>/src/TiledArray/math/vector_op.h: In instantiation of ‘void 
> TiledArray::math::for_each_block(Op&&, Result*, const Args* const ...) [with 
> Op = TiledArray::math::copy_block:: TiledArray::detail::param_type)>; Result = double; Args = {double}]’:
> /<>/src/TiledArray/math/vector_op.h:221:21:   required from 
> ‘void TiledArray::math::copy_block(Result*, const Arg*) [with Result = 
> double; Arg = double]’
> /<>/src/TiledArray/math/vector_op.h:273:51:   required from 
> ‘void TiledArray::math::Block<  >::store(T*) const 
> [with T = double]’
> /<>/src/TiledArray/math/vector_op.h:369:27:   required from 
> ‘void TiledArray::math::inplace_vector_op_serial(Op&&, std::size_t, Result*, 
> const Args* const ...) [with Op = TiledArray::Tensor< 
> ,  >::add_to Eigen::aligned_allocator >:: Eigen::aligned_allocator >::numeric_type&)>&; Result = double; Args = 
> {}; typename std::enable_if Args ...)>::type>::value>::type*  = 0; std::size_t = long unsigned 
> int]’
> /<>/src/TiledArray/math/vector_op.h:428:33:   required from 
> ‘void TiledArray::math::inplace_vector_op(Op&&, std::size_t, Result*, const 
> Args* const ...) [with Op = TiledArray::Tensor< , 
>  >::add_to 
> >:: 
> >::numeric_type&)>&; Result = double; Args = {}; typename 
> std::enable_if ...)>::type>::value>::type*  = 0; std::size_t = long unsigned int]’
> /<>/src/TiledArray/tensor/kernels.h:107:30:   required from 
> ‘void TiledArray::detail::inplace_tensor_op(Op&&, TR&, const Ts& ...) [with 
> Op = TiledArray::Tensor< ,  
> >::add_to 
> >:: 
> >::numeric_type&)>&; TR = TiledArray::Tensor Eigen::aligned_allocator >; Ts = {}; typename 
> std::enable_if<(TiledArray::detail::is_tensor::value && 
> TiledArray::detail::is_contiguous_tensor::value)>::type* 
>  = 0]’
> /<>/src/TiledArray/tensor/tensor.h:625:32:   required from 
> ‘TiledArray::Tensor< ,  
> >::Tensor_& TiledArray::Tensor< , 
>  >::inplace_unary(Op&&) [with Op = 
> TiledArray::Tensor< ,  
> >::add_to 
> >:: 
> >::numeric_type&)>; T = double; A = Eigen::aligned_allocator; 
> TiledArray::Tensor< ,  
> >::Tensor_ = TiledArray::Tensor >]’
> /<>/src/TiledArray/tensor/tensor.h:791:27:   required from 
> ‘TiledArray::Tensor< ,  
> >::Tensor_& TiledArray::Tensor< , 
>  >::add_to(TiledArray::Tensor< 
> ,  >::numeric_type) [with T = 
> double; A = Eigen::aligned_allocator; TiledArray::Tensor< 
> ,  >::Tensor_ = 
> TiledArray::Tensor >; 
> TiledArray::Tensor< ,  
> >::numeric_type = double]’
> /<>/src/TiledArray/tensor/tensor.cpp:31:18:   required from here
> /<>/src/TiledArray/math/vector_op.h:155:29: error: no matching 
> function for call to 
> ‘TiledArray::math::VectorOpUnwind<7>::for_each(TiledArray::math::copy_block  double>::)>&, double* 
> const&, const double* const&)’
>   155 |   VecOpUnwindN::for_each(op, result, args...);
>   |   ~~^
> /<>/src/TiledArray/math/vector_op.h:107:7: note: candidate: 
> ‘template static void 
> TiledArray::math::VectorOpUnwind< >::for_each(Op&&, Result*) [with 
> Op = Op; Result = Result; Args = {Args ...}; long unsigned int N = 7]’
>   107 |   for_each(Op&& op, Result* restrict const result, const Args* 
> restrict const ...args) {
>   |   ^~~~
> /<>/src/TiledArray/math/vector_op.h:107:7: note:   template 
> argument deduction/substitution failed:
> /<>/src/TiledArray/math/vector_op.h:155:29: note:   candidate 
> expects 2 arguments, 3 provided
>   155 |   VecOpUnwindN::for_each(op, result, args...);
>   |   ~~^
> /<>/src/TiledArray/math/vector_op.h: In instantiation of ‘void 
> TiledArray::math::for_each_block(Op&&, Result*, const Args* const ...) [with 
> Op = TiledArray::math::copy_block:: TiledArray::detail::param_type)>; Result = float; Args = {float}]’:
> /<>/src/TiledArray/math/vector_op.h:221:21:   required from 
> ‘void TiledArray::math::copy_block(Result*, const Arg*) [with Result = float; 
> Arg = float]’
> /<>/src/TiledArray/math/vector_op.h:273:51:   required from 
> ‘void TiledArray::math::Block<  >::store(T*) const 
> [with T = float]’
> /<>/src/TiledArray/math/vector_op.h:369:27:   required from 
> ‘void TiledArray::math::inplace_vector_op_serial(Op&&, std::size_t, Result*, 
> const Args* const ...) [with Op = TiledArray::Tensor< 
> ,  >::add_to Eigen::aligned_allocator >:: Eigen::aligned_allocator >::numeric_type&)>&; Result = float; Args = 
> {}; typename std::enable_if Args ...)>::type>::value>::type*  = 0; std::size_t = long unsigned 
> int]’
> /<>/src/TiledArray/math/vector_op.h:428:33:   required from 
> ‘void TiledArray::math::inplace_vector_op(Op&&, std::size_t, Result*, const 
> Args* const ...) [with Op = TiledArray::Tensor< , 
>  >::add_to 
> >:: 
>