diff mbox series

[v2,1/2] package/gnuradio: fix build with python-pybind > 2.10.0

Message ID 20230626070536.311268-1-gwenj@trabucayre.com
State Accepted
Headers show
Series [v2,1/2] package/gnuradio: fix build with python-pybind > 2.10.0 | expand

Commit Message

Gwenhael Goavec-Merou June 26, 2023, 7:05 a.m. UTC
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

Since commit 0e82c360942907f5a2f379e64e0d211aaff80774 (and since release
2.10.1), a new variable called PYBIND11_PYTHONLIBS_OVERWRITE was introduced
and set to ON by default.

According to comment before this option:
"Overwrite cached values read from Python library (classic search). Turn off if
cross-compiling and manually setting these values."

In buildroot's context this option must be disabled to keep variables
provided by buildroot and lib/app.

This issue affect branches: master, next and tags 2023.02.x, 2023.05.

Fix:
- http://autobuild.buildroot.net/results/7423df5db5237d94bb49e32698828d4fe470e39b/

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
Changes v1 -> v2:
- move PYBIND11_PYTHONLIBS_OVERWRITE option to python support section
---
 package/gnuradio/gnuradio.mk | 3 +++
 1 file changed, 3 insertions(+)

Comments

Arnout Vandecappelle July 4, 2023, 8:47 p.m. UTC | #1
On 26/06/2023 09:05, Gwenhael Goavec-Merou wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Since commit 0e82c360942907f5a2f379e64e0d211aaff80774 (and since release
> 2.10.1), a new variable called PYBIND11_PYTHONLIBS_OVERWRITE was introduced
> and set to ON by default.
> 
> According to comment before this option:
> "Overwrite cached values read from Python library (classic search). Turn off if
> cross-compiling and manually setting these values."
> 
> In buildroot's context this option must be disabled to keep variables
> provided by buildroot and lib/app.

  I guess something similar should be done for all users of pybind. And indeed, 
I see that zxing-cpp suffers from the same issue [1]. For some reason 
python-scipy doesn't have autobuild failures though.

> 
> This issue affect branches: master, next and tags 2023.02.x, 2023.05.

  This kind of comment should not be in the commit message itself, but rather 
under the --- line.

> 
> Fix:

  And this should be Fixes: (so it gets picked up by patchwork)

> - http://autobuild.buildroot.net/results/7423df5db5237d94bb49e32698828d4fe470e39b/
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

  Applied to master, thanks.

  Regards,
  Arnout

[1] 
http://autobuild.buildroot.net/results/7dc/7dc04cb67280073d24dc550e5ed8aa3673a9c6b1//


> ---
> Changes v1 -> v2:
> - move PYBIND11_PYTHONLIBS_OVERWRITE option to python support section
> ---
>   package/gnuradio/gnuradio.mk | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
> index d9218b533d..1453b78493 100644
> --- a/package/gnuradio/gnuradio.mk
> +++ b/package/gnuradio/gnuradio.mk
> @@ -116,6 +116,9 @@ ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
>   GNURADIO_DEPENDENCIES += python3 python-pybind \
>   	host-python-numpy host-python-packaging
>   GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
> +# mandatory to avoid pybind11 to overwrite variables provided
> +# by gnuradio and buildroot
> +GNURADIO_CONF_OPTS += -DPYBIND11_PYTHONLIBS_OVERWRITE=OFF
>   # mandatory to install python modules in site-packages and to use
>   # correct path for python libraries
>   GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
Gwenhael Goavec-Merou July 7, 2023, 8:40 a.m. UTC | #2
Arnout, all
On Tue, 4 Jul 2023 22:47:24 +0200
Arnout Vandecappelle <arnout@mind.be> wrote:

> On 26/06/2023 09:05, Gwenhael Goavec-Merou wrote:
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > 
> > Since commit 0e82c360942907f5a2f379e64e0d211aaff80774 (and since release
> > 2.10.1), a new variable called PYBIND11_PYTHONLIBS_OVERWRITE was introduced
> > and set to ON by default.
> > 
> > According to comment before this option:
> > "Overwrite cached values read from Python library (classic search). Turn
> > off if cross-compiling and manually setting these values."
> > 
> > In buildroot's context this option must be disabled to keep variables
> > provided by buildroot and lib/app.  
> 
>   I guess something similar should be done for all users of pybind. And
> indeed, I see that zxing-cpp suffers from the same issue [1]. For some reason 
> python-scipy doesn't have autobuild failures though.
> 
Yes. But the question is about way:
- adding the same fix for all current (and futur) package use pybind
- using sed at pybind's buildtime to change ON by OFF?
> > 
> > This issue affect branches: master, next and tags 2023.02.x, 2023.05.  
> 
>   This kind of comment should not be in the commit message itself, but rather 
> under the --- line.
> 
> > 
> > Fix:  
> 
>   And this should be Fixes: (so it gets picked up by patchwork)
> 
> > -
> > http://autobuild.buildroot.net/results/7423df5db5237d94bb49e32698828d4fe470e39b/
> > 
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >  
> 
>   Applied to master, thanks.

Thanls;
> 
>   Regards,
>   Arnout
> 
Regards,
Gwenhael
> [1] 
> http://autobuild.buildroot.net/results/7dc/7dc04cb67280073d24dc550e5ed8aa3673a9c6b1//
> 
> 
> > ---
> > Changes v1 -> v2:
> > - move PYBIND11_PYTHONLIBS_OVERWRITE option to python support section
> > ---
> >   package/gnuradio/gnuradio.mk | 3 +++
> >   1 file changed, 3 insertions(+)
> > 
> > diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
> > index d9218b533d..1453b78493 100644
> > --- a/package/gnuradio/gnuradio.mk
> > +++ b/package/gnuradio/gnuradio.mk
> > @@ -116,6 +116,9 @@ ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
> >   GNURADIO_DEPENDENCIES += python3 python-pybind \
> >   	host-python-numpy host-python-packaging
> >   GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
> > +# mandatory to avoid pybind11 to overwrite variables provided
> > +# by gnuradio and buildroot
> > +GNURADIO_CONF_OPTS += -DPYBIND11_PYTHONLIBS_OVERWRITE=OFF
> >   # mandatory to install python modules in site-packages and to use
> >   # correct path for python libraries
> >   GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
diff mbox series

Patch

diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
index d9218b533d..1453b78493 100644
--- a/package/gnuradio/gnuradio.mk
+++ b/package/gnuradio/gnuradio.mk
@@ -116,6 +116,9 @@  ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
 GNURADIO_DEPENDENCIES += python3 python-pybind \
 	host-python-numpy host-python-packaging
 GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
+# mandatory to avoid pybind11 to overwrite variables provided
+# by gnuradio and buildroot
+GNURADIO_CONF_OPTS += -DPYBIND11_PYTHONLIBS_OVERWRITE=OFF
 # mandatory to install python modules in site-packages and to use
 # correct path for python libraries
 GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \