* [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings @ 2025-05-20 12:21 Markus Heidelberg via ptxdist 2025-05-25 13:50 ` Michael Olbrich 0 siblings, 1 reply; 6+ messages in thread From: Markus Heidelberg via ptxdist @ 2025-05-20 12:21 UTC (permalink / raw) To: ptxdist; +Cc: Markus Heidelberg python3-config has to exist, available in python3-dev Debian package. Fixes the following error in libgpiod prepare stage: checking for python3-config... false configure: error: python3-config not found - needed for python bindings Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> --- rules/libgpiod.in | 1 + 1 file changed, 1 insertion(+) diff --git a/rules/libgpiod.in b/rules/libgpiod.in index 94bff5164..012223ff1 100644 --- a/rules/libgpiod.in +++ b/rules/libgpiod.in @@ -6,6 +6,7 @@ menuconfig LIBGPIOD select HOST_SYSTEM_PYTHON3 select GCCLIBS_CXX if LIBGPIOD_CXX select PYTHON3 if LIBGPIOD_PYTHON3 + select HOST_SYSTEM_PYTHON3_DEV if LIBGPIOD_PYTHON3 help libgpiod is a library accompanied by a set of tools for interacting with the Linux GPIO character device. -- 2.43.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings 2025-05-20 12:21 [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings Markus Heidelberg via ptxdist @ 2025-05-25 13:50 ` Michael Olbrich 2025-05-27 11:28 ` Markus Heidelberg via ptxdist 0 siblings, 1 reply; 6+ messages in thread From: Michael Olbrich @ 2025-05-25 13:50 UTC (permalink / raw) To: Markus Heidelberg via ptxdist; +Cc: Markus Heidelberg On Tue, May 20, 2025 at 02:21:51PM +0200, Markus Heidelberg via ptxdist wrote: > python3-config has to exist, available in python3-dev Debian package. > > Fixes the following error in libgpiod prepare stage: > > checking for python3-config... false > configure: error: python3-config not found - needed for python bindings > > Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> > --- > rules/libgpiod.in | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/rules/libgpiod.in b/rules/libgpiod.in > index 94bff5164..012223ff1 100644 > --- a/rules/libgpiod.in > +++ b/rules/libgpiod.in > @@ -6,6 +6,7 @@ menuconfig LIBGPIOD > select HOST_SYSTEM_PYTHON3 > select GCCLIBS_CXX if LIBGPIOD_CXX > select PYTHON3 if LIBGPIOD_PYTHON3 > + select HOST_SYSTEM_PYTHON3_DEV if LIBGPIOD_PYTHON3 No, this is wrong. The python3-config should come from the Python we use to build stuff for the target, so host-python/python. We do some hacky stuff to combine the host-python binary with target python stuff to get a cross python to build stuff. Maybe that needs to be extended so that libgpiod will find python3-config? Michael > help > libgpiod is a library accompanied by a set of tools for > interacting with the Linux GPIO character device. > -- > 2.43.0 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings 2025-05-25 13:50 ` Michael Olbrich @ 2025-05-27 11:28 ` Markus Heidelberg via ptxdist 2025-05-27 12:06 ` Michael Olbrich 0 siblings, 1 reply; 6+ messages in thread From: Markus Heidelberg via ptxdist @ 2025-05-27 11:28 UTC (permalink / raw) To: Michael Olbrich; +Cc: Markus Heidelberg, Markus Heidelberg via ptxdist On Sun, May 25, 2025 at 03:50:17PM +0200, Michael Olbrich wrote: > On Tue, May 20, 2025 at 02:21:51PM +0200, Markus Heidelberg via ptxdist wrote: > > python3-config has to exist, available in python3-dev Debian package. > > > > Fixes the following error in libgpiod prepare stage: > > > > checking for python3-config... false > > configure: error: python3-config not found - needed for python bindings > > > > Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> > > --- > > rules/libgpiod.in | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/rules/libgpiod.in b/rules/libgpiod.in > > index 94bff5164..012223ff1 100644 > > --- a/rules/libgpiod.in > > +++ b/rules/libgpiod.in > > @@ -6,6 +6,7 @@ menuconfig LIBGPIOD > > select HOST_SYSTEM_PYTHON3 > > select GCCLIBS_CXX if LIBGPIOD_CXX > > select PYTHON3 if LIBGPIOD_PYTHON3 > > + select HOST_SYSTEM_PYTHON3_DEV if LIBGPIOD_PYTHON3 > > No, this is wrong. The python3-config should come from the Python we use to > build stuff for the target, so host-python/python. > > We do some hacky stuff to combine the host-python binary with target python > stuff to get a cross python to build stuff. Maybe that needs to be extended > so that libgpiod will find python3-config? I guess python3-config from sysroot-cross should be used, but there is only python3.13-config. So I wonder whether A) there is a symlink (or copy) missing: sysroot-cross/usr/bin/python3-config -> python3.13-config B) libgpiod's configure.ac has to be patched: -python3-config +python3.13-config Markus ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings 2025-05-27 11:28 ` Markus Heidelberg via ptxdist @ 2025-05-27 12:06 ` Michael Olbrich 2025-05-28 14:49 ` Markus Heidelberg via ptxdist 0 siblings, 1 reply; 6+ messages in thread From: Michael Olbrich @ 2025-05-27 12:06 UTC (permalink / raw) To: Markus Heidelberg; +Cc: Markus Heidelberg via ptxdist On Tue, May 27, 2025 at 11:28:23AM +0000, Markus Heidelberg wrote: > On Sun, May 25, 2025 at 03:50:17PM +0200, Michael Olbrich wrote: > > On Tue, May 20, 2025 at 02:21:51PM +0200, Markus Heidelberg via ptxdist wrote: > > > python3-config has to exist, available in python3-dev Debian package. > > > > > > Fixes the following error in libgpiod prepare stage: > > > > > > checking for python3-config... false > > > configure: error: python3-config not found - needed for python bindings > > > > > > Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> > > > --- > > > rules/libgpiod.in | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/rules/libgpiod.in b/rules/libgpiod.in > > > index 94bff5164..012223ff1 100644 > > > --- a/rules/libgpiod.in > > > +++ b/rules/libgpiod.in > > > @@ -6,6 +6,7 @@ menuconfig LIBGPIOD > > > select HOST_SYSTEM_PYTHON3 > > > select GCCLIBS_CXX if LIBGPIOD_CXX > > > select PYTHON3 if LIBGPIOD_PYTHON3 > > > + select HOST_SYSTEM_PYTHON3_DEV if LIBGPIOD_PYTHON3 > > > > No, this is wrong. The python3-config should come from the Python we use to > > build stuff for the target, so host-python/python. > > > > We do some hacky stuff to combine the host-python binary with target python > > stuff to get a cross python to build stuff. Maybe that needs to be extended > > so that libgpiod will find python3-config? > > I guess python3-config from sysroot-cross should be used, but there is > only python3.13-config. So I wonder whether > > A) there is a symlink (or copy) missing: > sysroot-cross/usr/bin/python3-config -> python3.13-config > > B) libgpiod's configure.ac has to be patched: > -python3-config > +python3.13-config Try adding ac_cv_prog_has_python_config=python3.13-config to LIBGPIOD_CONF_ENV. Does that help? Michael -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings 2025-05-27 12:06 ` Michael Olbrich @ 2025-05-28 14:49 ` Markus Heidelberg via ptxdist 2025-05-30 13:25 ` [ptxdist] [PATCH v2] libgpiod: override location of python3-config Markus Heidelberg via ptxdist 0 siblings, 1 reply; 6+ messages in thread From: Markus Heidelberg via ptxdist @ 2025-05-28 14:49 UTC (permalink / raw) To: Michael Olbrich, ptxdist; +Cc: Markus Heidelberg > On Tue, May 27, 2025 at 11:28:23AM +0000, Markus Heidelberg wrote: > > On Sun, May 25, 2025 at 03:50:17PM +0200, Michael Olbrich wrote: > > > On Tue, May 20, 2025 at 02:21:51PM +0200, Markus Heidelberg via ptxdist wrote: > > > > python3-config has to exist, available in python3-dev Debian package. > > > > > > > > Fixes the following error in libgpiod prepare stage: > > > > > > > > checking for python3-config... false > > > > configure: error: python3-config not found - needed for python bindings > > > > > > > > Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> > > > > --- > > > > rules/libgpiod.in | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > diff --git a/rules/libgpiod.in b/rules/libgpiod.in > > > > index 94bff5164..012223ff1 100644 > > > > --- a/rules/libgpiod.in > > > > +++ b/rules/libgpiod.in > > > > @@ -6,6 +6,7 @@ menuconfig LIBGPIOD > > > > select HOST_SYSTEM_PYTHON3 > > > > select GCCLIBS_CXX if LIBGPIOD_CXX > > > > select PYTHON3 if LIBGPIOD_PYTHON3 > > > > + select HOST_SYSTEM_PYTHON3_DEV if LIBGPIOD_PYTHON3 > > > > > > No, this is wrong. The python3-config should come from the Python we use to > > > build stuff for the target, so host-python/python. > > > > > > We do some hacky stuff to combine the host-python binary with target python > > > stuff to get a cross python to build stuff. Maybe that needs to be extended > > > so that libgpiod will find python3-config? > > > > I guess python3-config from sysroot-cross should be used, but there is > > only python3.13-config. So I wonder whether > > > > A) there is a symlink (or copy) missing: > > sysroot-cross/usr/bin/python3-config -> python3.13-config > > > > B) libgpiod's configure.ac has to be patched: > > -python3-config > > +python3.13-config > > Try adding ac_cv_prog_has_python_config=python3.13-config to > LIBGPIOD_CONF_ENV. Does that help? Yes, that helps, libgpiod builds successfully then. However, finally I had a look into the libgpiod sources and noticed that python3-config is not used at all. Autotools aren't used anymore to build the Python bindings since v2: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/commit/bindings/python/Makefile.am?id=b7ba732e6a93313d4609c4d3ffb426996bf68d02 Later some Python leftover had been removed from configure.ac, but not the python3-config check: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/commit/?id=8aab09cb23b19799c058f3375afde5f07de03eef So it would probably be better to just remove the python3-config check. I'll submit a patch upstream and when accepted submit it to PTXdist. Markus ^ permalink raw reply [flat|nested] 6+ messages in thread
* [ptxdist] [PATCH v2] libgpiod: override location of python3-config 2025-05-28 14:49 ` Markus Heidelberg via ptxdist @ 2025-05-30 13:25 ` Markus Heidelberg via ptxdist 0 siblings, 0 replies; 6+ messages in thread From: Markus Heidelberg via ptxdist @ 2025-05-30 13:25 UTC (permalink / raw) To: ptxdist; +Cc: Markus Heidelberg It exists as python3.13-config (or whatever the minor version currently is) in sysroot-cross directory. Fixes the following error in libgpiod prepare stage: checking for python3-config... false configure: error: python3-config not found - needed for python bindings However, python3-config isn't used at all to build the Python bindings and ac_cv_prog_has_python_config could be set to any value except "false" to fix the error. Signed-off-by: Markus Heidelberg <m.heidelberg@cab.de> --- > So it would probably be better to just remove the python3-config check. > I'll submit a patch upstream and when accepted submit it to PTXdist. I submitted a patch upstream, but decided for the ac_cv_prog_has_python_config solution for PTXdist. It is less intrusive (no recreation of configure script necessary) and avoids a new dependency HOST_AUTOTOOLS_AUTOCONF_ARCHIVE because of this in configure.ac: # This needs autoconf-archive AX_CXX_COMPILE_STDCXX_17([ext], [mandatory]) rules/libgpiod.make | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rules/libgpiod.make b/rules/libgpiod.make index a77acf146..6272333b5 100644 --- a/rules/libgpiod.make +++ b/rules/libgpiod.make @@ -51,7 +51,9 @@ LIBGPIOD_CONF_OPT := \ LIBGPIOD_CONF_ENV := \ $(CROSS_ENV) \ - $(if $(PTXCONF_LIBGPIOD_PYTHON3), ac_cv_path_PYTHON=$(CROSS_PYTHON3)) + $(if $(PTXCONF_LIBGPIOD_PYTHON3), \ + ac_cv_path_PYTHON=$(CROSS_PYTHON3) \ + ac_cv_prog_has_python_config=python$(PYTHON3_MAJORMINOR)-config) LIBGPIOD_LDFLAGS:= -Wl,-rpath-link,$(LIBGPIOD_DIR)/lib/.libs -- 2.43.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-05-30 13:25 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-05-20 12:21 [ptxdist] [PATCH] libgpiod: select HOST_SYSTEM_PYTHON3_DEV for Python bindings Markus Heidelberg via ptxdist 2025-05-25 13:50 ` Michael Olbrich 2025-05-27 11:28 ` Markus Heidelberg via ptxdist 2025-05-27 12:06 ` Michael Olbrich 2025-05-28 14:49 ` Markus Heidelberg via ptxdist 2025-05-30 13:25 ` [ptxdist] [PATCH v2] libgpiod: override location of python3-config Markus Heidelberg via ptxdist
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox