All of lore.kernel.org
 help / color / mirror / Atom feed
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]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >
> 


  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.