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 |
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 \
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 --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 \