diff mbox series

[1/1] package/squid: needs gcc and host gcc >= 8

Message ID 20240306121823.610202-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/squid: needs gcc and host gcc >= 8 | expand

Commit Message

Fabrice Fontaine March 6, 2024, 12:18 p.m. UTC
cf_gen.cc is compiled by host compiler and unconditionally uses auto
since bump to version 6.6 in commit
c13199c9326fa2daa574f08ec8fc063a48d0eb06 and
https://github.com/squid-cache/squid/commit/09835feb258c3058d028918e36d959dccb3f7496
resulting in the following build failure with host gcc < 8:

/usr/bin/g++ -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/host/include -o cf_gen ./cf_gen.cc -I. -I../include/ -I../src
./cf_gen.cc: In function 'int main(int, char**)':
./cf_gen.cc:268:63: error: forming reference to void
                     auto &newEntry = entries.emplace_back(name);
                                                               ^

So add a dependency on host gcc >= 8 and gcc >= 8 as advocated by
upstream in
https://github.com/squid-cache/squid/blob/9d3433c4ac6cd547c10cf298b8a5e61a463fb753/doc/release-notes/release-6.sgml.in:

  This release adds a dependency on C++17 support in any compiler used to build Squid.
  GCC 8+ and Clang 8+ support C++17.

While at it, drop BR2_TOOLCHAIN_HAS_GCC_BUG_64735 which is always false
with gcc >= 7

Fixes: c13199c9326fa2daa574f08ec8fc063a48d0eb06
 - http://autobuild.buildroot.org/results/f1766d1a3b2ce7745fa23cdeae1101806cd97aea

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/squid/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Peter Korsgaard March 7, 2024, 11:21 a.m. UTC | #1
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > cf_gen.cc is compiled by host compiler and unconditionally uses auto
 > since bump to version 6.6 in commit
 > c13199c9326fa2daa574f08ec8fc063a48d0eb06 and
 > https://github.com/squid-cache/squid/commit/09835feb258c3058d028918e36d959dccb3f7496
 > resulting in the following build failure with host gcc < 8:

 > /usr/bin/g++ -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/host/include -o cf_gen ./cf_gen.cc -I. -I../include/ -I../src
 > ./cf_gen.cc: In function 'int main(int, char**)':
 > ./cf_gen.cc:268:63: error: forming reference to void
 >                      auto &newEntry = entries.emplace_back(name);
 >                                                                ^

 > So add a dependency on host gcc >= 8 and gcc >= 8 as advocated by
 > upstream in
 > https://github.com/squid-cache/squid/blob/9d3433c4ac6cd547c10cf298b8a5e61a463fb753/doc/release-notes/release-6.sgml.in:

 >   This release adds a dependency on C++17 support in any compiler used to build Squid.
 >   GCC 8+ and Clang 8+ support C++17.

 > While at it, drop BR2_TOOLCHAIN_HAS_GCC_BUG_64735 which is always false
 > with gcc >= 7

 > Fixes: c13199c9326fa2daa574f08ec8fc063a48d0eb06
 >  - http://autobuild.buildroot.org/results/f1766d1a3b2ce7745fa23cdeae1101806cd97aea

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed, thanks.
Peter Korsgaard March 21, 2024, 8:11 p.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > cf_gen.cc is compiled by host compiler and unconditionally uses auto
 > since bump to version 6.6 in commit
 > c13199c9326fa2daa574f08ec8fc063a48d0eb06 and
 > https://github.com/squid-cache/squid/commit/09835feb258c3058d028918e36d959dccb3f7496
 > resulting in the following build failure with host gcc < 8:

 > /usr/bin/g++ -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/host/include -o cf_gen ./cf_gen.cc -I. -I../include/ -I../src
 > ./cf_gen.cc: In function 'int main(int, char**)':
 > ./cf_gen.cc:268:63: error: forming reference to void
 >                      auto &newEntry = entries.emplace_back(name);
 >                                                                ^

 > So add a dependency on host gcc >= 8 and gcc >= 8 as advocated by
 > upstream in
 > https://github.com/squid-cache/squid/blob/9d3433c4ac6cd547c10cf298b8a5e61a463fb753/doc/release-notes/release-6.sgml.in:

 >   This release adds a dependency on C++17 support in any compiler used to build Squid.
 >   GCC 8+ and Clang 8+ support C++17.

 > While at it, drop BR2_TOOLCHAIN_HAS_GCC_BUG_64735 which is always false
 > with gcc >= 7

 > Fixes: c13199c9326fa2daa574f08ec8fc063a48d0eb06
 >  - http://autobuild.buildroot.org/results/f1766d1a3b2ce7745fa23cdeae1101806cd97aea

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>


Committed to 2024.02.x, 2023.02.x and 2023.11.x, thanks.
diff mbox series

Patch

diff --git a/package/squid/Config.in b/package/squid/Config.in
index 89b5a377c7..149884d815 100644
--- a/package/squid/Config.in
+++ b/package/squid/Config.in
@@ -1,18 +1,18 @@ 
-comment "squid needs a toolchain w/ C++, threads, gcc >= 7 not affected by bug 64735"
+comment "squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
-	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \
-		!BR2_INSTALL_LIBSTDCPP || \
+	depends on !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_7
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
+		!BR2_HOST_GCC_AT_LEAST_8
 
 config BR2_PACKAGE_SQUID
 	bool "squid"
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
+	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
 	# needs fork()
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_LIBCAP