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: sramacher@debian.org
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