From: Max Krummenacher <max.oss.09@gmail.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: brgl@bgdev.pl, openembedded-devel@lists.openembedded.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>,
Max Krummenacher <max.krummenacher@toradex.com>
Subject: Re: [oe] [meta-oe][PATCH] libgpiod_2.2: depend on glib-2.0
Date: Wed, 30 Oct 2024 10:28:35 +0100 [thread overview]
Message-ID: <ZyH8Q0_19f17Q6m6@toolbox> (raw)
In-Reply-To: <CAMKF1srFVBeLFv99OKbThkepdGv+pE4Op0gbX4HdtMeXW=ok=Q@mail.gmail.com>
Hello Bart
On Tue, Oct 29, 2024 at 06:33:12PM -0700, Khem Raj wrote:
> On Tue, Oct 29, 2024 at 6:31 PM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > Bart,
> >
> > On Mon, Oct 28, 2024 at 12:21 PM Bartosz Golaszewski via
> > lists.openembedded.org <brgl=bgdev.pl@lists.openembedded.org> wrote:
> > >
> > > On Mon, Oct 28, 2024 at 12:26 PM Max Krummenacher via
> > > lists.openembedded.org <max.oss.09=gmail.com@lists.openembedded.org>
> > > wrote:
> > > >
> > > > From: Max Krummenacher <max.krummenacher@toradex.com>
> > > >
> > > > In my setup a build fails with
> > > >
> > > > | checking for gobject-introspection... configure: error: gobject-introspection-1.0 is not installed
> > > > | NOTE: The following config.log files may provide further information.
> > > > | NOTE: /var/home/krm/build/oe-core_master/build/tmp/work/cortexa55-tdx-linux/libgpiod/2.2/build/config.log
> > > > | ERROR: configure failed
> > > >
> > > > From config.log this seems to be related to glib-2.0 not found:
> > > >
> > > > | configure:22484: $PKG_CONFIG --exists --print-errors "gobject-introspection-1.0"
> > > > | Package glib-2.0 was not found in the pkg-config search path.
> > > > | Perhaps you should add the directory containing `glib-2.0.pc'
> > > > | to the PKG_CONFIG_PATH environment variable
> > > > | Package 'glib-2.0', required by 'gobject-introspection-1.0', not found
> > > > | configure:22487: $? = 1
> > > > | configure:22491: error: gobject-introspection-1.0 is not installed
> > > >
> > > > Note that glib-2.0.pc is present in recipes-sysroot-native but not
> > > > in recipes-sysroot.
> > > >
> > > > Adding glib-2.0 to depends allows successful build of libgpiod 2.
> > > >
> > > > Fixes: 117d09ce43c7 ("libgpiod: update to v2.2")
> > > > Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
> > > > ---
> > > > meta-oe/recipes-support/libgpiod/libgpiod_2.2.bb | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > >
> > > > I'm unsure if that is the correct fix.
> > > > I would have expected that if gobject-introspection-1.0.pc depends
> > > > on glib-2.0 to be present, then the inherit of gobject-introspection
> > > > would have done the needful.
> > > > However I'm not really familiar with gobject-introspection in the
> > > > first place.
> > > >
> > > > Max
> > > >
> > > > diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.bb
> > > > index b55da72f7b7f..3d9758e27af7 100644
> > > > --- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.bb
> > > > +++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.bb
> > > > @@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = " \
> > > > file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
> > > > "
> > > >
> > > > +DEPENDS += "glib-2.0"
> > > > +
> > >
> > > Pulling in the entire GLib for everything in this recipe is definitely
> > > a wrong answer. I'm travelling and have limited time right now but I
> > > will take a look on Thursday or Friday. I did test disabling
> > > introspection though so I'm surprised to see this.
Thanks for looking for a 'proper' solution.
I digged a bit further.
I noticed that `--enable-introspection` is part of EXTRA_OECONF set by
the gobject-introspection.bbclass (conditions apply).
https://git.openembedded.org/openembedded-core/tree/meta/classes-recipe/gobject-introspection.bbclass#n27
https://git.openembedded.org/openembedded-core/tree/meta/classes-recipe/gobject-introspection-data.bbclass#n12
Instead of depending on glib-2.0 unconditionally, disabling
introspection in configure also makes the build pass.
Assuming that introspection is only used for the glib packageconfig
changing to disabling introspection when not needed might be a solution.
-PACKAGECONFIG[glib] = "--enable-bindings-glib,--disable-bindings-glib,glib-2.0 glib-2.0-native"
+PACKAGECONFIG[glib] = "--enable-bindings-glib,--disable-bindings-glib --disable-introspection,glib-2.0 glib-2.0-native"
Max
> > >
> >
> > There is a problem with this when --enable-introspection is used
> > without ptests being in distro features
> > the reason it works with ptests on is that it enables 'test'
> > packageconfig which brings in glib-2.0 dependency
> > however if we build without 'ptest' DISTRO_FEATURE it will fail to
> > configure like below
> >
> > configure:22490: checking for gobject-introspection
> > configure:22499: $PKG_CONFIG --exists --print-errors
> > "gobject-introspection-1.0"
> > Package glib-2.0 was not found in the pkg-config search path.
> > Perhaps you should add the directory containing `glib-2.0.pc'
> > to the PKG_CONFIG_PATH environment variable
> > Package 'glib-2.0', required by 'gobject-introspection-1.0', not found
> > configure:22502: $? = 1
> > configure:22506: error: gobject-introspection-1.0 is not installed
> >
> > The check inconfigure,ac is using GOBJECT_INTROSPECTION_CHECK macro
> > which is expanding to this
> > check I guess.
> >
> > It seems that glib-2.0 is a hard dep for gobject-introspection so it
> > might be better to add it in bbclass itself.
>
> Forgot to mention that I will apply this patch since some devs have
> reported this so they can keep chugging
> along, we can unbolt it when we have a proper fix.
>
> >
> > > Bart
> > >
> > > > FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
> > > >
> > > > SRC_URI += "file://gpio-manager.init"
> > > > --
> > > > 2.42.0
> > > >
> > > >
> > > >
> > > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#113265): https://lists.openembedded.org/g/openembedded-devel/message/113265
> > > Mute This Topic: https://lists.openembedded.org/mt/109255084/1997914
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >
>
next prev parent reply other threads:[~2024-10-30 9:28 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-28 11:24 [meta-oe][PATCH] libgpiod_2.2: depend on glib-2.0 max.oss.09
2024-10-28 19:21 ` [oe] " Bartosz Golaszewski
2024-10-30 1:31 ` Khem Raj
2024-10-30 1:33 ` Khem Raj
2024-10-30 9:28 ` Max Krummenacher [this message]
2024-10-30 16:35 ` Bartosz Golaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZyH8Q0_19f17Q6m6@toolbox \
--to=max.oss.09@gmail.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=max.krummenacher@toradex.com \
--cc=openembedded-devel@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox