Source: pytorch
Version: 2.12.1+dfsg-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: [email protected]

Dear maintainer,

pytorch FTBFS with the new fmtlib:

  FAILED: [code=1] 
caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/core/Formatting.cpp.o
  /usr/bin/c++ -DAT_PER_OPERATOR_HEADERS -DBUILD_ONEDNN_GRAPH 
-DCAFFE2_BUILD_MAIN_LIB -DDNNL_EXPERIMENTAL_UKERNEL -DENABLE_IPC_FABRIC 
-DHAVE_MALLOC_USABLE_SIZE=1 -DHAVE_MMAP=1 -DHAVE_POSIX_FALLOCATE=1 
-DHAVE_SHM_OPEN=1 -DHAVE_SHM_UNLINK=1 -DKINETO_NAMESPACE=libkineto 
-DMINIZ_DISABLE_ZIP_READER_CRC32_CHECKS -DONNXIFI_ENABLE_EXT=1 -DONNX_ML=1 
-DONNX_NAMESPACE=onnx -DTORCH_ENABLE_LLVM -DUSE_C10D_GLOO -DUSE_C10D_MPI 
-DUSE_DISTRIBUTED -DUSE_EXTERNAL_MZCRC -DUSE_RPC -DUSE_TENSORPIPE 
-D_FILE_OFFSET_BITS=64 -Dtorch_cpu_EXPORTS -DTORCH_ASSERT_ONLY_METHOD_OPERATORS 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build/aten/src 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build 
-I/build/reproducible-path/pytorch-2.12.1+dfsg -I/usr/lib/llvm-21/include 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/moodycamel 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/torch/csrc/api 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/torch/csrc/api/include 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/caffe2/aten/src/TH 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build/caffe2/aten/src/TH 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build/caffe2/aten/src 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build/caffe2/../aten/src 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/torch/csrc 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/torch/headeronly 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/third_party/miniz-3.0.2 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/debian/kineto/libkineto/include 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/debian/kineto/libkineto/src 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/third_party/cpp-httplib 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/third_party/nlohmann/include 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/build/vulkan 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/../third_party/VulkanMemoryAllocator
 -I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/.. 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/c10/.. 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/native/quantized/cpu/qnnpack/include
 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/native/quantized/cpu/qnnpack/src
 
-I/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/include
 -I/build/reproducible-path/pytorch-2.12.1+dfsg/third_party/flatbuffers/include 
-isystem 
/build/reproducible-path/pytorch-2.12.1+dfsg/cmake/../third_party/googletest/googlemock/include
 -isystem 
/build/reproducible-path/pytorch-2.12.1+dfsg/cmake/../third_party/googletest/googletest/include
 -isystem 
/build/reproducible-path/pytorch-2.12.1+dfsg/cmake/../third_party/eigen 
-isystem /usr/include/oneapi/dnnl -isystem 
/build/reproducible-path/pytorch-2.12.1+dfsg/INTERFACE -isystem 
/usr/include/concurrentqueue -isystem 
/build/reproducible-path/pytorch-2.12.1+dfsg/caffe2 -isystem 
/usr/lib/x86_64-linux-gnu/openmpi/include -isystem 
/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -Wdate-time 
-D_FORTIFY_SOURCE=2 -g -O2 
-ffile-prefix-map=/build/reproducible-path/pytorch-2.12.1+dfsg=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -Wno-dangling-reference  -I/usr 
-fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DUSE_KINETO -DLIBKINETO_NOCUPTI 
-DLIBKINETO_NOROCTRACER -DLIBKINETO_NOXPUPTI=ON -DUSE_PYTORCH_QNNPACK 
-DUSE_XNNPACK -DUSE_VULKAN -DUSE_VULKAN_API -DSYMBOLICATE_MOBILE_DEBUG_HANDLE 
-O2 -fPIC -DC10_NODEPRECATED -Wall -Wextra -Werror=return-type 
-Werror=non-virtual-dtor -Werror=range-loop-construct -Werror=bool-operation 
-Wnarrowing -Wno-missing-field-initializers -Wno-unknown-pragmas 
-Wno-unused-parameter -Wno-strict-overflow -Wno-strict-aliasing 
-Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=old-style-cast 
-faligned-new -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math 
-Werror=format -Wno-dangling-reference -Wno-error=dangling-reference 
-Wno-stringop-overflow -DHAVE_AVX512_CPU_DEFINITION -DHAVE_AVX2_CPU_DEFINITION 
-O2 -g -DNDEBUG -fPIC -fdiagnostics-color=always -DTORCH_USE_LIBUV 
-DCAFFE2_USE_GLOO -Wall -Wextra -Wdeprecated -Wunused -Wno-unused-parameter 
-Wno-missing-field-initializers -Wno-array-bounds -Wno-unknown-pragmas 
-Wno-strict-overflow -Wno-strict-aliasing -Wredundant-move 
-Wno-interference-size -Wno-maybe-uninitialized -fvisibility=hidden -fopenmp 
-MD -MT caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/core/Formatting.cpp.o 
-MF caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/core/Formatting.cpp.o.d -o 
caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/core/Formatting.cpp.o -c 
/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/core/Formatting.cpp
  In file included from /usr/include/fmt/compile.h:15,
                   from 
/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/core/Formatting.cpp:3:
  /usr/include/fmt/format.h: In instantiation of ‘constexpr OutputIt 
fmt::v11::detail::write_exponent(int, OutputIt) [with Char = char; OutputIt = 
std::ostreambuf_iterator<char, std::char_traits<char> >]’:
  /usr/include/fmt/format.h:2373:34:   required from ‘constexpr OutputIt 
fmt::v11::detail::do_write_float(OutputIt, const DecimalFP&, const 
fmt::v11::format_specs&, fmt::v11::sign, locale_ref) [with Char = char; 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; DecimalFP = 
dragonbox::decimal_fp<double>; Grouping = fallback_digit_grouping<char>]’
   2373 |       return write_exponent<Char>(output_exp, it);
        |              ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:2453:57:   required from ‘constexpr OutputIt 
fmt::v11::detail::write_float(OutputIt, const DecimalFP&, const 
fmt::v11::format_specs&, fmt::v11::sign, locale_ref) [with Char = char; 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; DecimalFP = 
dragonbox::decimal_fp<double>]’
   2452 |     return do_write_float<Char, OutputIt, DecimalFP,
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2453 |                           fallback_digit_grouping<Char>>(out, f, 
specs, s, loc);
        |                           
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3310:31:   required from ‘constexpr OutputIt 
fmt::v11::detail::write_float(OutputIt, T, fmt::v11::format_specs, locale_ref) 
[with Char = char; OutputIt = std::ostreambuf_iterator<char, 
std::char_traits<char> >; T = double]’
   3310 |       return write_float<Char>(out, dec, specs, s, loc);
        |              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3347:33:   required from ‘constexpr OutputIt 
fmt::v11::detail::write(OutputIt, T, fmt::v11::format_specs, locale_ref) [with 
Char = char; OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> 
>; T = double; typename std::enable_if<std::integral_constant<bool, 
(std::is_floating_point<T>::value || std::is_same<T, 
__float128>::value)>::value, int>::type <anonymous> = 0]’
   3347 |              : write_float<Char>(out, value, specs, loc);
        |                ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3633:23:   required from ‘constexpr decltype 
(ctx.out()) fmt::v11::detail::native_formatter<T, Char, TYPE>::format(const T&, 
FormatContext&) const [with FormatContext = 
fmt::v11::generic_context<std::ostreambuf_iterator<char, std::char_traits<char> 
>, char>; T = double; Char = char; fmt::v11::detail::type TYPE = 
fmt::v11::detail::type::double_type; decltype (ctx.out()) = 
std::ostreambuf_iterator<char, std::char_traits<char> >]’
   3633 |     return write<Char>(ctx.out(), val, specs_, ctx.locale());
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:220:22:   required from ‘constexpr OutputIt 
fmt::v11::detail::spec_field<Char, T, N>::format(OutputIt, const Args& ...) 
const [with OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; 
Args = {double, int}; Char = char; T = double; int N = 0]’
    220 |     return fmt.format(get_arg_checked<T, N>(args...), ctx);
        |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:460:19:   required from ‘constexpr OutputIt 
fmt::v11::format_to(OutputIt, const CompiledFormat&, const Args& ...) [with 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; 
CompiledFormat = detail::spec_field<char, double, 0>; Args = {double, int}; 
typename std::enable_if<detail::is_compiled_format<CompiledFormat>::value, 
int>::type <anonymous> = 0]’
    460 |   return cf.format(out, args...);
        |          ~~~~~~~~~^~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:500:26:   required from ‘constexpr OutputIt 
fmt::v11::format_to(OutputIt, const S&, Args&& ...) [with OutputIt = 
std::ostreambuf_iterator<char, std::char_traits<char> >; S = 
at::<lambda()>::FMT_COMPILE_STRING; Args = {double&, const int&}; typename 
std::enable_if<detail::is_compiled_string<S>::value, int>::type <anonymous> = 
0]’
    500 |     return fmt::format_to(out, compiled, std::forward<Args>(args)...);
        |            ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/core/Formatting.cpp:159:21:
   required from here
    159 |       fmt::format_to(out_it, FMT_G, val, pf.width);
        |       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:1501:32: error: no matching function for call to 
‘format_decimal<char>(std::ostreambuf_iterator<char, std::char_traits<char> >&, 
unsigned int&, int)’
   1501 |     return format_decimal<Char>(out, uexp, count_digits(uexp));
        |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • there are 2 candidates
      • candidate 1: ‘template<class Char, class UInt> constexpr Char* 
fmt::v11::detail::format_decimal(Char*, UInt, int)’
        /usr/include/fmt/format.h:1199:31:
         1199 | FMT_CONSTEXPR FMT_INLINE auto format_decimal(Char* out, UInt 
value,
              |                               ^~~~~~~~~~~~~~
        • template argument deduction/substitution failed:
          •   cannot convert ‘out’ (type ‘std::ostreambuf_iterator<char, 
std::char_traits<char> >’) to type ‘char*’
            /usr/include/fmt/format.h:1501:33:
             1501 |     return format_decimal<Char>(out, uexp, 
count_digits(uexp));
                  |                                 ^~~
      • candidate 2: ‘template<class Char, class UInt, class OutputIt, typename 
std::enable_if<fmt::v11::detail::is_back_insert_iterator<OutputIt>::value, 
int>::type <anonymous> > constexpr OutputIt 
fmt::v11::detail::format_decimal(OutputIt, UInt, int)’
        /usr/include/fmt/format.h:1207:20:
         1207 | FMT_CONSTEXPR auto format_decimal(OutputIt out, UInt value, int 
num_digits)
              |                    ^~~~~~~~~~~~~~
        • template argument deduction/substitution failed:
  In file included from /usr/include/fmt/format.h:41:
          • error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
            /usr/include/fmt/format.h:1206:11:
             1206 |           
FMT_ENABLE_IF(is_back_insert_iterator<OutputIt>::value)>
                  |           ^~~~~~~~~~~~~
  /usr/include/fmt/format.h: In instantiation of ‘OutputIt 
fmt::v11::detail::write_significand(OutputIt, UInt, int) [with Char = char; 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; UInt = long 
unsigned int]’:
  /usr/include/fmt/format.h:2429:35:   required from ‘constexpr OutputIt 
fmt::v11::detail::do_write_float(OutputIt, const DecimalFP&, const 
fmt::v11::format_specs&, fmt::v11::sign, locale_ref) [with Char = char; 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; DecimalFP = 
dragonbox::decimal_fp<double>; Grouping = fallback_digit_grouping<char>]’
   2429 |     return write_significand<Char>(it, significand, significand_size);
        |            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:2453:57:   required from ‘constexpr OutputIt 
fmt::v11::detail::write_float(OutputIt, const DecimalFP&, const 
fmt::v11::format_specs&, fmt::v11::sign, locale_ref) [with Char = char; 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; DecimalFP = 
dragonbox::decimal_fp<double>]’
   2452 |     return do_write_float<Char, OutputIt, DecimalFP,
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2453 |                           fallback_digit_grouping<Char>>(out, f, 
specs, s, loc);
        |                           
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3310:31:   required from ‘constexpr OutputIt 
fmt::v11::detail::write_float(OutputIt, T, fmt::v11::format_specs, locale_ref) 
[with Char = char; OutputIt = std::ostreambuf_iterator<char, 
std::char_traits<char> >; T = double]’
   3310 |       return write_float<Char>(out, dec, specs, s, loc);
        |              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3347:33:   required from ‘constexpr OutputIt 
fmt::v11::detail::write(OutputIt, T, fmt::v11::format_specs, locale_ref) [with 
Char = char; OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> 
>; T = double; typename std::enable_if<std::integral_constant<bool, 
(std::is_floating_point<T>::value || std::is_same<T, 
__float128>::value)>::value, int>::type <anonymous> = 0]’
   3347 |              : write_float<Char>(out, value, specs, loc);
        |                ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:3633:23:   required from ‘constexpr decltype 
(ctx.out()) fmt::v11::detail::native_formatter<T, Char, TYPE>::format(const T&, 
FormatContext&) const [with FormatContext = 
fmt::v11::generic_context<std::ostreambuf_iterator<char, std::char_traits<char> 
>, char>; T = double; Char = char; fmt::v11::detail::type TYPE = 
fmt::v11::detail::type::double_type; decltype (ctx.out()) = 
std::ostreambuf_iterator<char, std::char_traits<char> >]’
   3633 |     return write<Char>(ctx.out(), val, specs_, ctx.locale());
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:220:22:   required from ‘constexpr OutputIt 
fmt::v11::detail::spec_field<Char, T, N>::format(OutputIt, const Args& ...) 
const [with OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; 
Args = {double, int}; Char = char; T = double; int N = 0]’
    220 |     return fmt.format(get_arg_checked<T, N>(args...), ctx);
        |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:460:19:   required from ‘constexpr OutputIt 
fmt::v11::format_to(OutputIt, const CompiledFormat&, const Args& ...) [with 
OutputIt = std::ostreambuf_iterator<char, std::char_traits<char> >; 
CompiledFormat = detail::spec_field<char, double, 0>; Args = {double, int}; 
typename std::enable_if<detail::is_compiled_format<CompiledFormat>::value, 
int>::type <anonymous> = 0]’
    460 |   return cf.format(out, args...);
        |          ~~~~~~~~~^~~~~~~~~~~~~~
  /usr/include/fmt/compile.h:500:26:   required from ‘constexpr OutputIt 
fmt::v11::format_to(OutputIt, const S&, Args&& ...) [with OutputIt = 
std::ostreambuf_iterator<char, std::char_traits<char> >; S = 
at::<lambda()>::FMT_COMPILE_STRING; Args = {double&, const int&}; typename 
std::enable_if<detail::is_compiled_string<S>::value, int>::type <anonymous> = 
0]’
    500 |     return fmt::format_to(out, compiled, std::forward<Args>(args)...);
        |            ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
/build/reproducible-path/pytorch-2.12.1+dfsg/aten/src/ATen/core/Formatting.cpp:159:21:
   required from here
    159 |       fmt::format_to(out_it, FMT_G, val, pf.width);
        |       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/fmt/format.h:2247:30: error: no matching function for call to 
‘format_decimal<char>(std::ostreambuf_iterator<char, std::char_traits<char> >&, 
long unsigned int&, int&)’
   2247 |   return format_decimal<Char>(out, significand, significand_size);
        |          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • there are 2 candidates
      • candidate 1: ‘template<class Char, class UInt> constexpr Char* 
fmt::v11::detail::format_decimal(Char*, UInt, int)’
        /usr/include/fmt/format.h:1199:31:
         1199 | FMT_CONSTEXPR FMT_INLINE auto format_decimal(Char* out, UInt 
value,
              |                               ^~~~~~~~~~~~~~
        • template argument deduction/substitution failed:
          •   cannot convert ‘out’ (type ‘std::ostreambuf_iterator<char, 
std::char_traits<char> >’) to type ‘char*’
            /usr/include/fmt/format.h:2247:31:
             2247 |   return format_decimal<Char>(out, significand, 
significand_size);
                  |                               ^~~
      • candidate 2: ‘template<class Char, class UInt, class OutputIt, typename 
std::enable_if<fmt::v11::detail::is_back_insert_iterator<OutputIt>::value, 
int>::type <anonymous> > constexpr OutputIt 
fmt::v11::detail::format_decimal(OutputIt, UInt, int)’
        /usr/include/fmt/format.h:1207:20:
         1207 | FMT_CONSTEXPR auto format_decimal(OutputIt out, UInt value, int 
num_digits)
              |                    ^~~~~~~~~~~~~~
        • template argument deduction/substitution failed:
          • error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
            /usr/include/fmt/format.h:1206:11:
             1206 |           
FMT_ENABLE_IF(is_back_insert_iterator<OutputIt>::value)>
                  |           ^~~~~~~~~~~~~

See
https://buildd.debian.org/status/fetch.php?pkg=pytorch&arch=amd64&ver=2.12.1%2Bdfsg-1%2Bb1&stamp=1791370572&raw=0
for details.

Cheers
-- 
Sebastian Ramacher

Reply via email to