Debian Bug report logs - #997289
range-v3: FTBFS: concepts.hpp:455:5: error: satisfaction of atomic constraint ‘requires(T& t, T& u) {(concepts::<unnamed>::swap)(t, u);} [with T = S]’ depends on itself

version graph

Package: src:range-v3; Maintainer for src:range-v3 is Nicholas Guriev <guriev-ns@ya.ru>;

Reported by: Lucas Nussbaum <lucas@debian.org>

Date: Sat, 23 Oct 2021 19:31:25 UTC

Severity: serious

Tags: bookworm, ftbfs, patch, sid

Found in version range-v3/0.11.0-1

Fixed in version range-v3/0.11.0-2

Done: Nicholas Guriev <guriev-ns@ya.ru>

Bug is archived. No further changes may be made.

Forwarded to https://github.com/ericniebler/range-v3/issues/1672

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Nicholas Guriev <guriev-ns@ya.ru>:
Bug#997289; Package src:range-v3. (Sat, 23 Oct 2021 19:31:27 GMT) (full text, mbox, link).


Acknowledgement sent to Lucas Nussbaum <lucas@debian.org>:
New Bug report received and forwarded. Copy sent to Nicholas Guriev <guriev-ns@ya.ru>. (Sat, 23 Oct 2021 19:31:27 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Lucas Nussbaum <lucas@debian.org>
To: submit@bugs.debian.org
Subject: range-v3: FTBFS: concepts.hpp:455:5: error: satisfaction of atomic constraint ‘requires(T& t, T& u) {(concepts::<unnamed>::swap)(t, u);} [with T = S]’ depends on itself
Date: Sat, 23 Oct 2021 21:24:04 +0200
Source: range-v3
Version: 0.11.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs

Hi,

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


Relevant part (hopefully):
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test/algorithm && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=c++14 -Wall -Wextra -Werror -fdiagnostics-show-template-tree -ftemplate-backtrace-limit=0 -fomit-frame-pointer -Ofast -fstrict-aliasing -ffast-math -fsized-deallocation -DRANGES_CXX_ALIGNED_NEW=0 -fconcepts -pedantic -pedantic-errors -Wno-padded -Wno-old-style-cast -Wno-noexcept-type -MD -MT test/algorithm/CMakeFiles/alg.set_difference6.dir/set_difference6.cpp.o -MF CMakeFiles/alg.set_difference6.dir/set_difference6.cpp.o.d -o CMakeFiles/alg.set_difference6.dir/set_difference6.cpp.o -c /<<PKGBUILDDIR>>/test/algorithm/set_difference6.cpp
> In file included from /<<PKGBUILDDIR>>/include/range/v3/utility/any.hpp:23,
>                  from /<<PKGBUILDDIR>>/include/range/v3/utility.hpp:17,
>                  from /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/headers/range/v3/utility.cpp:1:
> /<<PKGBUILDDIR>>/include/concepts/swap.hpp: In substitution of ‘template<class TRef, class T>  requires (copyable<T>) && !(same_as<T, ranges::any>) ranges::any::any(TRef&&) [with TRef = std::default_delete<ranges::any::interface>&; T = std::default_delete<ranges::any::interface>]’:
> /<<PKGBUILDDIR>>/include/concepts/swap.hpp:179:22:   required by substitution of ‘template<class T, class U> decltype (concepts::adl_swap_detail::swap(declval<T>(), declval<U>())) concepts::adl_swap_detail::try_adl_swap_(int) [with T = std::default_delete<ranges::any::interface>&; U = std::default_delete<ranges::any::interface>&]’
> /<<PKGBUILDDIR>>/include/concepts/swap.hpp:186:14:   required from ‘constexpr const bool concepts::adl_swap_detail::is_adl_swappable_v<std::default_delete<ranges::any::interface>&>’
> /<<PKGBUILDDIR>>/include/concepts/swap.hpp:205:18:   required by substitution of ‘template<class T> constexpr meta::if_c<((! is_adl_swappable_v<T&>) && is_movable_v<T>)> concepts::adl_swap_detail::swap_fn::operator()(T&, T&) const [with T = std::default_delete<ranges::any::interface>]’
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:937:9:   required by substitution of ‘template<class TRef, class T>  requires (copyable<T>) && !(same_as<T, ranges::any>) ranges::any::any(TRef&&) [with TRef = std::default_delete<ranges::any::interface>&; T = std::default_delete<ranges::any::interface>]’
> /usr/include/c++/11/type_traits:2700:31:   required by substitution of ‘template<class _Tp, class> static std::true_type std::__swappable_details::__do_is_swappable_impl::__test(int) [with _Tp = std::default_delete<ranges::any::interface>; <template-parameter-1-2> = <missing>]’
> /usr/include/c++/11/type_traits:2724:35:   required from ‘struct std::__is_swappable_impl<std::default_delete<ranges::any::interface> >’
> /usr/include/c++/11/type_traits:2735:12:   required from ‘struct std::__is_swappable<std::default_delete<ranges::any::interface> >’
> /usr/include/c++/11/bits/unique_ptr.h:463:37:   required from ‘void std::unique_ptr<_Tp, _Dp>::swap(std::unique_ptr<_Tp, _Dp>&) [with _Tp = ranges::any::interface; _Dp = std::default_delete<ranges::any::interface>]’
> /<<PKGBUILDDIR>>/include/range/v3/utility/any.hpp:163:22:   required from here
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:937:9:   required for the satisfaction of ‘swappable__requires_<T>’ [with T = std::default_delete<ranges::any::interface>]
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:943:21:   required for the satisfaction of ‘swappable<T>’ [with T = std::default_delete<ranges::any::interface>]
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:1099:21:   required for the satisfaction of ‘movable<T>’ [with T = std::default_delete<ranges::any::interface>]
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:1110:21:   required for the satisfaction of ‘copyable<T>’ [with T = std::default_delete<ranges::any::interface>]
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:937:9:   in requirements with ‘T& t’, ‘T& u’ [with T = std::default_delete<ranges::any::interface>]
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:455:5: error: satisfaction of atomic constraint ‘requires(T& t, T& u) {(concepts::<unnamed>::swap)(t, u);} [with T = S]’ depends on itself
>   455 |     requires(__VA_ARGS__) CPP_REQUIRES_AUX_
>       |     ^
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:66:30: note: in expansion of macro ‘CPP_REQUIRES_requires’
>    66 | #define CPP_PP_CAT_(X, ...)  X ## __VA_ARGS__
>       |                              ^
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:67:30: note: in expansion of macro ‘CPP_PP_CAT_’
>    67 | #define CPP_PP_CAT(X, ...)   CPP_PP_CAT_(X, __VA_ARGS__)
>       |                              ^~~~~~~~~~~
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:448:5: note: in expansion of macro ‘CPP_PP_CAT’
>   448 |     CPP_PP_CAT(CPP_REQUIRES_, REQS)
>       |     ^~~~~~~~~~
> /<<PKGBUILDDIR>>/include/concepts/concepts.hpp:937:9: note: in expansion of macro ‘CPP_requires’
>   937 |         CPP_requires(swappable_,
>       |         ^~~~~~~~~~~~
> make[4]: *** [CMakeFiles/test.range.v3.headers.dir/build.make:2543: CMakeFiles/test.range.v3.headers.dir/headers/range/v3/utility.cpp.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2021/10/23/range-v3_0.11.0-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



Set Bug forwarded-to-address to 'https://github.com/ericniebler/range-v3/issues/1672'. Request was from "Michael R. Crusoe" <crusoe@debian.org> to control@bugs.debian.org. (Fri, 12 Nov 2021 10:15:02 GMT) (full text, mbox, link).


Message sent on to Lucas Nussbaum <lucas@debian.org>:
Bug#997289. (Sat, 13 Nov 2021 10:33:02 GMT) (full text, mbox, link).


Message #10 received at 997289-submitter@bugs.debian.org (full text, mbox, reply):

From: "Michael R. Crusoe" <noreply@salsa.debian.org>
To: 997289-submitter@bugs.debian.org
Subject: Bug#997289 marked as pending in range-v3
Date: Sat, 13 Nov 2021 10:28:49 +0000
Control: tag -1 pending

Hello,

Bug #997289 in range-v3 reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/debian/range-v3/-/commit/6dcb7124564ce620819a461454164444aa60c09d

------------------------------------------------------------------------
Apply suggested fix for gcc 11.2. Closes: #997289.
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/997289



Added tag(s) pending. Request was from "Michael R. Crusoe" <noreply@salsa.debian.org> to 997289-submitter@bugs.debian.org. (Sat, 13 Nov 2021 10:33:02 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Nicholas Guriev <guriev-ns@ya.ru>:
Bug#997289; Package src:range-v3. (Sat, 13 Nov 2021 10:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Michael R. Crusoe <crusoe@debian.org>:
Extra info received and forwarded to list. Copy sent to Nicholas Guriev <guriev-ns@ya.ru>. (Sat, 13 Nov 2021 10:45:03 GMT) (full text, mbox, link).


Message #17 received at 997289@bugs.debian.org (full text, mbox, reply):

From: Michael R. Crusoe <crusoe@debian.org>
To: 997289@bugs.debian.org
Subject: range-v3: diff for NMU version 0.11.0-1.1
Date: Sat, 13 Nov 2021 11:41:10 +0100
Control: tags 997289 + patch

Dear maintainer,

In hopes of preventing range-v3 and other transitive dependencies like seqan3 from
being removed from Debian Testing, I've prepared an NMU for range-v3 (versioned
as 0.11.0-1.1) and uploaded it to DELAYED/7. Please feel free to tell me if I
should delay it longer.

I've also opened a MR at https://salsa.debian.org/crusoe/range-v3 with the same contents.

Regards.

diff -Nru range-v3-0.11.0/debian/changelog range-v3-0.11.0/debian/changelog
--- range-v3-0.11.0/debian/changelog	2020-08-18 08:46:44.000000000 +0200
+++ range-v3-0.11.0/debian/changelog	2021-11-13 11:26:59.000000000 +0100
@@ -1,3 +1,10 @@
+range-v3 (0.11.0-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Apply suggested fix for gcc 11.2. Closes: #997289.
+
+ -- Michael R. Crusoe <crusoe@debian.org>  Sat, 13 Nov 2021 11:26:59 +0100
+
 range-v3 (0.11.0-1) unstable; urgency=medium
 
   [ Nicholas Guriev ]
diff -Nru range-v3-0.11.0/debian/patches/gcc-11.2.patch range-v3-0.11.0/debian/patches/gcc-11.2.patch
--- range-v3-0.11.0/debian/patches/gcc-11.2.patch	1970-01-01 01:00:00.000000000 +0100
+++ range-v3-0.11.0/debian/patches/gcc-11.2.patch	2021-11-13 11:20:41.000000000 +0100
@@ -0,0 +1,32 @@
+From: Enrico Seiler <enrico.seiler@hotmail.de>
+Date: Fri, 12 Nov 2021 22:25:48 +0100
+Subject: Fix circular swap concept for gcc 11.2
+Origin: upstream, https://github.com/ericniebler/range-v3/pull/1676
+Bug: https://github.com/ericniebler/range-v3/issues/1672
+
+---
+ include/range/v3/utility/any.hpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/range/v3/utility/any.hpp b/include/range/v3/utility/any.hpp
+index 1d63eb8e2..7590829c3 100644
+--- a/include/range/v3/utility/any.hpp
++++ b/include/range/v3/utility/any.hpp
+@@ -124,7 +124,7 @@ namespace ranges
+         any() noexcept = default;
+         template(typename TRef, typename T = detail::decay_t<TRef>)(
+             /// \pre
+-            requires copyable<T> AND (!same_as<T, any>)) //
++            requires copy_constructible<T> AND (!same_as<T, any>)) //
+         any(TRef && t)
+           : ptr_(new impl<T>(static_cast<TRef &&>(t)))
+         {}
+@@ -140,7 +140,7 @@ namespace ranges
+         }
+         template(typename TRef, typename T = detail::decay_t<TRef>)(
+             /// \pre
+-            requires copyable<T> AND (!same_as<T, any>)) //
++            requires copy_constructible<T> AND (!same_as<T, any>)) //
+         any & operator=(TRef && t)
+         {
+             any{static_cast<TRef &&>(t)}.swap(*this);
diff -Nru range-v3-0.11.0/debian/patches/series range-v3-0.11.0/debian/patches/series
--- range-v3-0.11.0/debian/patches/series	2020-08-18 08:46:44.000000000 +0200
+++ range-v3-0.11.0/debian/patches/series	2021-11-13 11:07:54.000000000 +0100
@@ -1,2 +1,3 @@
+gcc-11.2.patch
 Detection-of-concepts.patch
 Workaround-premature-instantiation.patch



Added tag(s) patch. Request was from Michael R. Crusoe <crusoe@debian.org> to 997289-submit@bugs.debian.org. (Sat, 13 Nov 2021 10:45:03 GMT) (full text, mbox, link).


Reply sent to Nicholas Guriev <guriev-ns@ya.ru>:
You have taken responsibility. (Tue, 30 Nov 2021 22:18:03 GMT) (full text, mbox, link).


Notification sent to Lucas Nussbaum <lucas@debian.org>:
Bug acknowledged by developer. (Tue, 30 Nov 2021 22:18:03 GMT) (full text, mbox, link).


Message #24 received at 997289-close@bugs.debian.org (full text, mbox, reply):

From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
To: 997289-close@bugs.debian.org
Subject: Bug#997289: fixed in range-v3 0.11.0-2
Date: Tue, 30 Nov 2021 22:15:28 +0000
Source: range-v3
Source-Version: 0.11.0-2
Done: Nicholas Guriev <guriev-ns@ya.ru>

We believe that the bug you reported is fixed in the latest version of
range-v3, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 997289@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Nicholas Guriev <guriev-ns@ya.ru> (supplier of updated range-v3 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 01 Dec 2021 00:06:04 +0300
Source: range-v3
Built-For-Profiles: noudeb
Architecture: source
Version: 0.11.0-2
Distribution: unstable
Urgency: high
Maintainer: Nicholas Guriev <guriev-ns@ya.ru>
Changed-By: Nicholas Guriev <guriev-ns@ya.ru>
Closes: 997289
Changes:
 range-v3 (0.11.0-2) unstable; urgency=medium
 .
   * Reupload the fix to unstable.
   * Bump Standards-Version to 4.6.0, no required changes.
 .
 range-v3 (0.11.0-1.1) unstable; urgency=high
 .
   * Non-maintainer upload.
   * Apply suggested fix for gcc 11.2. Closes: #997289.
Checksums-Sha1:
 1c0fa5f8789d800fbcd7a9911b8799995d87ad0c 1534 range-v3_0.11.0-2.dsc
 0458d44ab898fbebfb2851c2b42bab3e6478bb34 7980 range-v3_0.11.0-2.debian.tar.xz
Checksums-Sha256:
 a24b1540de791a617f2abc1f5f0dd40b3b3ac0792516d6c08f2a997c6c6efc5b 1534 range-v3_0.11.0-2.dsc
 f067b5dc5dcbdeac6ee90a68b98c92b3367149a360ea85fc6f0171524e7c97d7 7980 range-v3_0.11.0-2.debian.tar.xz
Files:
 ec922cc12b16a131b7e09d0129024583 1534 libdevel optional range-v3_0.11.0-2.dsc
 a47020f0ff9575e05bf3fc63edea49b8 7980 libdevel optional range-v3_0.11.0-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQQRm7llN8yxifaG60cF2qh9JI3wlQUCYaafPBAcZ3VyaWV2LW5z
QHlhLnJ1AAoJEAXaqH0kjfCVuOsBANzxKgFSNSDjchB0j+LAdadZrEJiSutu6INy
+ztxOfhEAPoDfkrSTDBJ9Lm87GeiH8w5pRvx15244FbTBONdJ2idDw==
=cF0i
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 31 Dec 2021 07:31:33 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Tue Sep 20 20:23:36 2022; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.