Your message dated Sun, 18 Jan 2026 15:49:20 +0000
with message-id <[email protected]>
and subject line Bug#1114139: fixed in grpc 1.51.1-7
has caused the Debian Bug report #1114139,
regarding grpc: FTBFS: re2.h:846:45: error: ‘optional’ is not a member of ‘std’
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1114139: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114139
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: grpc
Version: 1.51.1-6
Severity: serious
Justification: FTBFS
Tags: forky sid ftbfs
User: [email protected]
Usertags: ftbfs-20250918 ftbfs-forky

Hi,

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

The full build log is available from:
http://qa-logs.debian.net/2025/09/18/grpc_1.51.1-6_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250918;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250918&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

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 mark 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.

-- 
Relevant part of the build log (hopefully):
> /usr/bin/c++  -I/build/reproducible-path/grpc-1.51.1/include 
> -I/build/reproducible-path/grpc-1.51.1 
> -I/build/reproducible-path/grpc-1.51.1/third_party/address_sorting/include 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upb-generated 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upbdefs-generated 
> -I/build/reproducible-path/grpc-1.51.1/third_party/upb 
> -I/build/reproducible-path/grpc-1.51.1/third_party/xxhash -g -O2 
> -ffile-prefix-map=/build/reproducible-path/grpc-1.51.1=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2  
> -std=c++14 -fPIC -pthread -DNOMINMAX -MD -MT 
> CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc.o
>  -MF 
> CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc.o.d
>  -o 
> CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc.o
>  -c 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
> In file included from 
> /build/reproducible-path/grpc-1.51.1/src/core/lib/matchers/matchers.h:28,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/xds/xds_certificate_provider.h:39,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc:41:
> /usr/include/re2/re2.h:846:45: error: ‘optional’ is not a member of ‘std’
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                             ^~~~~~~~
> /usr/include/re2/re2.h:846:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:846:45: error: ‘optional’ is not a member of ‘std’
> /usr/include/re2/re2.h:846:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:846:54: error: template argument 1 is invalid
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                                      ^
> /usr/include/re2/re2.h:846:55: error: expected unqualified-id before ‘>’ token
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                                       ^~
> /usr/include/re2/re2.h:847:45: error: ‘optional’ is not a member of ‘std’
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                             ^~~~~~~~
> /usr/include/re2/re2.h:847:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:847:45: error: ‘optional’ is not a member of ‘std’
> /usr/include/re2/re2.h:847:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:847:54: error: template argument 1 is invalid
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                                      ^
> /usr/include/re2/re2.h:847:55: error: expected unqualified-id before ‘>’ token
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                                       ^~
> /usr/include/re2/re2.h:850:44: error: ‘std::optional’ has not been declared
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |                                            ^~~~~~~~
> /usr/include/re2/re2.h:850:44: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:850:52: error: expected ‘,’ or ‘...’ before ‘<’ token
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |                                                    ^
> /usr/include/re2/re2.h: In function ‘bool re2::re2_internal::Parse(const 
> char*, size_t, int)’:
> /usr/include/re2/re2.h:852:9: error: ‘dest’ was not declared in this scope 
> [-Wtemplate-body]
>   852 |     if (dest != NULL)
>       |         ^~~~
> /usr/include/re2/re2.h:858:9: error: ‘dest’ was not declared in this scope 
> [-Wtemplate-body]
>   858 |     if (dest != NULL)
>       |         ^~~~
> /usr/include/re2/re2.h: At global scope:
> /usr/include/re2/re2.h:866:44: error: ‘std::optional’ has not been declared
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |                                            ^~~~~~~~
> /usr/include/re2/re2.h:866:44: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:866:52: error: expected ‘,’ or ‘...’ before ‘<’ token
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |                                                    ^
> /usr/include/re2/re2.h:866:6: error: redefinition of ‘template<class T> bool 
> re2::re2_internal::Parse(const char*, size_t, int)’
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |      ^~~~~
> /usr/include/re2/re2.h:850:6: note: ‘template<class T> bool 
> re2::re2_internal::Parse(const char*, size_t, int)’ previously declared here
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |      ^~~~~
> [ 11%] Building CXX object 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc.o
> /usr/bin/c++  -I/build/reproducible-path/grpc-1.51.1/include 
> -I/build/reproducible-path/grpc-1.51.1 
> -I/build/reproducible-path/grpc-1.51.1/third_party/address_sorting/include 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upb-generated 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upbdefs-generated 
> -I/build/reproducible-path/grpc-1.51.1/third_party/upb 
> -I/build/reproducible-path/grpc-1.51.1/third_party/xxhash -g -O2 
> -ffile-prefix-map=/build/reproducible-path/grpc-1.51.1=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2  
> -std=c++14 -fPIC -pthread -DNOMINMAX -MD -MT 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc.o
>  -MF 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc.o.d
>  -o 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc.o
>  -c 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
> [ 11%] Building CXX object 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/local_subchannel_pool.cc.o
> /usr/bin/c++  -I/build/reproducible-path/grpc-1.51.1/include 
> -I/build/reproducible-path/grpc-1.51.1 
> -I/build/reproducible-path/grpc-1.51.1/third_party/address_sorting/include 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upb-generated 
> -I/build/reproducible-path/grpc-1.51.1/src/core/ext/upbdefs-generated 
> -I/build/reproducible-path/grpc-1.51.1/third_party/upb 
> -I/build/reproducible-path/grpc-1.51.1/third_party/xxhash -g -O2 
> -ffile-prefix-map=/build/reproducible-path/grpc-1.51.1=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2  
> -std=c++14 -fPIC -pthread -DNOMINMAX -MD -MT 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/local_subchannel_pool.cc.o
>  -MF 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/local_subchannel_pool.cc.o.d
>  -o 
> CMakeFiles/grpc_unsecure.dir/src/core/ext/filters/client_channel/local_subchannel_pool.cc.o
>  -c 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/filters/client_channel/local_subchannel_pool.cc
> In file included from 
> /build/reproducible-path/grpc-1.51.1/src/core/lib/matchers/matchers.h:28,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/xds/xds_common_types.h:36,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/xds/xds_cluster_specifier_plugin.h:32,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/xds/xds_bootstrap_grpc.h:34,
>                  from 
> /build/reproducible-path/grpc-1.51.1/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc:45:
> /usr/include/re2/re2.h:846:45: error: ‘optional’ is not a member of ‘std’
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                             ^~~~~~~~
> /usr/include/re2/re2.h:846:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:846:45: error: ‘optional’ is not a member of ‘std’
> /usr/include/re2/re2.h:846:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:846:54: error: template argument 1 is invalid
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                                      ^
> /usr/include/re2/re2.h:846:55: error: expected unqualified-id before ‘>’ token
>   846 | template <typename T> struct Parse3ary<std::optional<T>> : public 
> Parse3ary<T> {};
>       |                                                       ^~
> /usr/include/re2/re2.h:847:45: error: ‘optional’ is not a member of ‘std’
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                             ^~~~~~~~
> /usr/include/re2/re2.h:847:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:847:45: error: ‘optional’ is not a member of ‘std’
> /usr/include/re2/re2.h:847:45: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:847:54: error: template argument 1 is invalid
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                                      ^
> /usr/include/re2/re2.h:847:55: error: expected unqualified-id before ‘>’ token
>   847 | template <typename T> struct Parse4ary<std::optional<T>> : public 
> Parse4ary<T> {};
>       |                                                       ^~
> /usr/include/re2/re2.h:850:44: error: ‘std::optional’ has not been declared
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |                                            ^~~~~~~~
> /usr/include/re2/re2.h:850:44: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:850:52: error: expected ‘,’ or ‘...’ before ‘<’ token
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |                                                    ^
> /usr/include/re2/re2.h: In function ‘bool re2::re2_internal::Parse(const 
> char*, size_t, int)’:
> /usr/include/re2/re2.h:852:9: error: ‘dest’ was not declared in this scope 
> [-Wtemplate-body]
>   852 |     if (dest != NULL)
>       |         ^~~~
> /usr/include/re2/re2.h:858:9: error: ‘dest’ was not declared in this scope 
> [-Wtemplate-body]
>   858 |     if (dest != NULL)
>       |         ^~~~
> /usr/include/re2/re2.h: At global scope:
> /usr/include/re2/re2.h:866:44: error: ‘std::optional’ has not been declared
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |                                            ^~~~~~~~
> /usr/include/re2/re2.h:866:44: note: ‘std::optional’ is only available from 
> C++17 onwards
> /usr/include/re2/re2.h:866:52: error: expected ‘,’ or ‘...’ before ‘<’ token
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |                                                    ^
> /usr/include/re2/re2.h:866:6: error: redefinition of ‘template<class T> bool 
> re2::re2_internal::Parse(const char*, size_t, int)’
>   866 | bool Parse(const char* str, size_t n, std::optional<T>* dest, int 
> radix) {
>       |      ^~~~~
> /usr/include/re2/re2.h:850:6: note: ‘template<class T> bool 
> re2::re2_internal::Parse(const char*, size_t, int)’ previously declared here
>   850 | bool Parse(const char* str, size_t n, std::optional<T>* dest) {
>       |      ^~~~~
> make[4]: *** [CMakeFiles/grpc.dir/build.make:516: 
> CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc.o]
>  Error 1

--- End Message ---
--- Begin Message ---
Source: grpc
Source-Version: 1.51.1-7
Done: Laszlo Boszormenyi (GCS) <[email protected]>

We believe that the bug you reported is fixed in the latest version of
grpc, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Laszlo Boszormenyi (GCS) <[email protected]> (supplier of updated grpc 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 [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 16 Jan 2026 17:07:10 +0100
Source: grpc
Architecture: source
Version: 1.51.1-7
Distribution: unstable
Urgency: medium
Maintainer: Laszlo Boszormenyi (GCS) <[email protected]>
Changed-By: Laszlo Boszormenyi (GCS) <[email protected]>
Closes: 1083428 1111901 1112980 1114139
Changes:
 grpc (1.51.1-7) unstable; urgency=medium
 .
   * Compile with C++17 standard (closes: #1114139).
   * Set minimal CMake version to 3.25 (closes: #1112980).
   * Remove python3-pkg-resources build dependency (closes: #1083428).
   * Remove all dependency on ruby-googleauth for being unmaintained
     and buggy.
   * Fix Ruby autopkgtest (closes: #1111901).
   * Override import name for autodep8-python3.
   * Remove now redundant Rules-Requires-Root value.
   * Update watch file.
   * Update Standards-Version to 4.7.2 .
Checksums-Sha1:
 c1c6af8859f2c9ad51f5a033bfabac1234862c21 2816 grpc_1.51.1-7.dsc
 a206f7a2200bdf1713db614777a8ca9cf9e51337 30100 grpc_1.51.1-7.debian.tar.xz
Checksums-Sha256:
 f00598bafdb6fb178a9b6b08b99c3f459c523524428fedf2307fb1802482824e 2816 
grpc_1.51.1-7.dsc
 fc1e2005df50387d7d16b4af3aa0526cb824bbec4eb00bce677deca00982d4db 30100 
grpc_1.51.1-7.debian.tar.xz
Files:
 29126ae93c2c8ecea7a03a7f1f5f3e06 2816 libs optional grpc_1.51.1-7.dsc
 ac0227638a7b8a1b0173f64aff4f385a 30100 libs optional 
grpc_1.51.1-7.debian.tar.xz

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

iQIzBAEBCgAdFiEEfYh9yLp7u6e4NeO63OMQ54ZMyL8FAmls+80ACgkQ3OMQ54ZM
yL+Glg//fPg9R8O9wXHIVGFvITjN6O0cCzil0WBO0aiQZYgmBlUNqNeAMH4EdDyu
cZpFZOsedk9oYz8IugtscbkVQBPqyi4Gw37NVPU37d8xFkbH1bgea9nHbs0P/e9y
74Bzfzr0RuSiL2It0rWJjJy7OQ09+m0O0wEDJnTLUht+xNITXzb/c6iYKrsDKt9R
8VVg+caMJOKAeLxOjfxOgmp2N+AwSFRWbbw5in95mE2pQuRvmH+vrLBgZ8nyaHDd
dE+fu9+/mejYARxxWXFbF7K/kwZlM6egv+IGRyILlU4eQCuf+CKLPnjyRM+BOplt
FvzNbLwGmfL5PMsvbX6pjdpG5Fmj8UQOS2L+jTSv3Nod4PwPHVAbGSevmmuV3fpW
tXBtw5ZIV+vFrabntYa547UCq5ta/LDsVTVSzV3KrwE43DSaPWw6ieKBXJY2dj52
j/hfGdwZOFgjteQfAWtDeWX/ZOe68+CSoWw2feIEV+fAGwzrI3qV6PtPw3zsiqDy
BpZbtQRKNasqt8+oXGA6mOkMFPQp87oWEQqRZs8yeam+XgdXtIICTXwf3KaCB7LN
1r/dsU52gKlxhUCBLmLXGPZdL1UX+a7uhFYCHAoZFcBPmVRDFSywquQKUF0D/jw5
LpM/hPDv8jFLZUaUK4ndFeJZnhWXdY6SyKvHv8sV6Dny6ayNINU=
=uK/3
-----END PGP SIGNATURE-----

Attachment: pgpFP5C8JAmAa.pgp
Description: PGP signature


--- End Message ---

Reply via email to