diff mbox series

[v2] package/gnuradio: restrict gcc to >= 9.3.0

Message ID 1670597027-3905-1-git-send-email-gwenj@trabucayre.com
State Changes Requested
Headers show
Series [v2] package/gnuradio: restrict gcc to >= 9.3.0 | expand

Commit Message

Gwenhael Goavec-Merou Dec. 9, 2022, 2:43 p.m. UTC
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

Since commit 5a15095f65c655356989c91e52da1746cd96f41b gnuradio requires
gcc >= 9.3.0

This patch add this dependency and removes BR2_TOOLCHAIN_HAS_GCC_BUG_64735
dependency because it is only required for gcc < 7.

Also gcc restriction is required because volk needs a toolchain with a gcc > 7.

fix:
- http://autobuild.buildroot.net/results/6a82605c58f9ef9eb6c14603777dd8523dd00aa5/
- http://autobuild.buildroot.net/results/c7c4ae76954e388ab639b39fd521d90acfe4edc9/

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
 package/gnuradio/Config.in | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Thomas Petazzoni Dec. 9, 2022, 3:27 p.m. UTC | #1
On Fri,  9 Dec 2022 15:43:47 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:

> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Since commit 5a15095f65c655356989c91e52da1746cd96f41b gnuradio requires
> gcc >= 9.3.0

Is it really 9.3.0 that is required, or 9.x ?

Because BR2_TOOLCHAIN_GCC_AT_LEAST_9 does not guarantee 9.3.0, it
guarantees 9.x.


> -comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
> +comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library gcc >= 9"

                                                                          ^^^^ missing comma

(No need to resend just for this)

Thomas
Gwenhael Goavec-Merou Dec. 9, 2022, 3:32 p.m. UTC | #2
On Fri, 9 Dec 2022 16:27:08 +0100
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> On Fri,  9 Dec 2022 15:43:47 +0100
> Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> 
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > 
> > Since commit 5a15095f65c655356989c91e52da1746cd96f41b gnuradio requires
> > gcc >= 9.3.0  
> 
> Is it really 9.3.0 that is required, or 9.x ?
> 
gnuradio ask for 9.3.0 but it's true one may wish to use gcc >= 9.0.0 but < 9.3.0.
I assume a BR2_TOOLCHAIN_HEADERS_AT_LEAST_9_3 must be added to strictly respect this
requirement?

> Because BR2_TOOLCHAIN_GCC_AT_LEAST_9 does not guarantee 9.3.0, it
> guarantees 9.x.
> 
> 
> > -comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
> > +comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library gcc >= 9"  
> 
>                                                                           ^^^^ missing comma
> 
> (No need to resend just for this)
'k
> 
> Thomas

Thanks
Gwen
Thomas Petazzoni Dec. 9, 2022, 4:10 p.m. UTC | #3
On Fri, 9 Dec 2022 16:37:56 +0100
Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> wrote:

> > gnuradio ask for 9.3.0 but it's true one may wish to use gcc >= 9.0.0 but < 9.3.0.
> > I assume a BR2_TOOLCHAIN_HEADERS_AT_LEAST_9_3 must be added to strictly respect this
> > requirement?  
> BR2_TOOLCHAIN_GCC_AT_LEAST_9_3 instead of BR2_TOOLCHAIN_HEADERS_AT_LEAST_9_3 ...

BR2_TOOLCHAIN_GCC_AT_LEAST_9_3 does not exist. We only have options for
5.x, 6.x, 7.x, 8.x, 9.x, etc.

Thomas
Thomas Petazzoni Dec. 9, 2022, 10:30 p.m. UTC | #4
Hello,

On Fri,  9 Dec 2022 15:43:47 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:

> Since commit 5a15095f65c655356989c91e52da1746cd96f41b gnuradio requires
> gcc >= 9.3.0

This commit does not have any justification about the gcc 9.3.0
requirement. It seems to have been bumped to 9.3.0 just because Ubuntu
20.04 LTS uses 9.3.0.

So I would suggest to patch out this silly version check, and really
base the gcc version needed by gnuradio on actual issues.

In any case, we need to patch out, because we can't express a
dependency on >= 9.3.0 in Buildroot, we can only express a dependency
on >= 9.x.

Best regards,

Thomas
Bagas Sanjaya Dec. 10, 2022, 4:38 a.m. UTC | #5
On 12/9/22 23:10, Thomas Petazzoni via buildroot wrote:
> On Fri, 9 Dec 2022 16:37:56 +0100
> Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> wrote:
> 
>>> gnuradio ask for 9.3.0 but it's true one may wish to use gcc >= 9.0.0 but < 9.3.0.
>>> I assume a BR2_TOOLCHAIN_HEADERS_AT_LEAST_9_3 must be added to strictly respect this
>>> requirement?  
>> BR2_TOOLCHAIN_GCC_AT_LEAST_9_3 instead of BR2_TOOLCHAIN_HEADERS_AT_LEAST_9_3 ...
> 
> BR2_TOOLCHAIN_GCC_AT_LEAST_9_3 does not exist. We only have options for
> 5.x, 6.x, 7.x, 8.x, 9.x, etc.
> 

Thus the minimum version is GCC 10 (BR2_TOOLCHAIN_GCC_AT_LEAST_10), right?
Bagas Sanjaya Dec. 10, 2022, 10:02 a.m. UTC | #6
On 12/10/22 05:30, Thomas Petazzoni via buildroot wrote:
> In any case, we need to patch out, because we can't express a
> dependency on >= 9.3.0 in Buildroot, we can only express a dependency
> on >= 9.x.
> 

If we go down to x.y requirement of toolchain components, we also need
to be able to select specific x.y (minor release) components version
when building the Buildroot toolchain. For example, someone targetting
Raspberry Pi 4 may require GCC 10.2.0, Binutils 2.35.2, and glibc 2.31
(these are versions used in Debian/Raspberry Pi OS 11). Linux kernel
headers are unaffected, since even custom tarball containing exact
kernel version can be specified.

Cc'ing Yann and Arnout to help sorting this out.

Thanks.
Gwenhael Goavec-Merou Dec. 10, 2022, 4:28 p.m. UTC | #7
Hi all,

On Sat, 10 Dec 2022 17:02:37 +0700
Bagas Sanjaya <bagasdotme@gmail.com> wrote:

> On 12/10/22 05:30, Thomas Petazzoni via buildroot wrote:
> > In any case, we need to patch out, because we can't express a
> > dependency on >= 9.3.0 in Buildroot, we can only express a dependency
> > on >= 9.x.
> >   
> 
> If we go down to x.y requirement of toolchain components, we also need
> to be able to select specific x.y (minor release) components version
> when building the Buildroot toolchain. For example, someone targetting
> Raspberry Pi 4 may require GCC 10.2.0, Binutils 2.35.2, and glibc 2.31
> (these are versions used in Debian/Raspberry Pi OS 11). Linux kernel
> headers are unaffected, since even custom tarball containing exact
> kernel version can be specified.
> 
It's my fault: not a closer look to when std::filesystem was introduce and followed
gnuradio's commit instead of checking gcc releases.

Sorry for the noise...

Gwen


> Cc'ing Yann and Arnout to help sorting this out.
> 
> Thanks.
> 
> -- 
> An old man doll... just what I always wanted! - Clara
>
diff mbox series

Patch

diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index de19732cfb..a99a1972c0 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -1,12 +1,12 @@ 
-comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
+comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library gcc >= 9"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_9
 
-comment "gnuradio needs a toolchain not affected by GCC bug 43744 and 64735"
+comment "gnuradio needs a toolchain not affected by GCC bug 43744"
 	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744
-	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_PACKAGE_GNURADIO
 	bool "gnuradio"
@@ -16,8 +16,8 @@  config BR2_PACKAGE_GNURADIO
 	depends on BR2_USE_MMU # use fork()
 	depends on BR2_USE_WCHAR # boost
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-thread
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744
-	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_BOOST_ATOMIC
 	select BR2_PACKAGE_BOOST_DATE_TIME