All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: Randolph Sapp <rs@ti.com>
Cc: a-christidis@ti.com, Andrew Davis <afd@ti.com>,
	meta-arago@lists.yoctoproject.org, Ryan Eatmon <reatmon@ti.com>
Subject: Re: [meta-arago][scarthgap/master][PATCH v2] ti-gc320-tests: Add RDEPENDS ti-gc320-libs-dev
Date: Thu, 6 Mar 2025 19:31:44 -0500	[thread overview]
Message-ID: <20250307003144.GQ1879@denix.org> (raw)
In-Reply-To: <D89KXMF8XS6G.1LZFZ1KBCUFOG@ti.com>

On Thu, Mar 06, 2025 at 05:41:54PM -0600, Randolph Sapp wrote:
> On Thu Mar 6, 2025 at 1:53 PM CST, Denys Dmytriyenko wrote:
> > On Thu, Mar 06, 2025 at 12:50:56PM -0600, Antonios Christidis via lists.yoctoproject.org wrote:
> >> 
> >> On 3/6/25 11:35 AM, Andrew Davis wrote:
> >> >On 3/6/25 11:29 AM, Antonios Christidis wrote:
> >> >>
> >> >>On 3/6/25 11:25 AM, Andrew Davis wrote:
> >> >>>On 3/6/25 11:09 AM, Antonios Christidis wrote:
> >> >>>>
> >> >>>>On 3/6/25 10:57 AM, Andrew Davis wrote:
> >> >>>>>On 3/6/25 10:03 AM, Antonios Christidis wrote:
> >> >>>>>>
> >> >>>>>>On 3/6/25 7:32 AM, Andrew Davis wrote:
> >> >>>>>>>On 3/5/25 6:04 PM, a-christidis@ti.com wrote:
> >> >>>>>>>>From: Antonios Christidis <a-christidis@ti.com>
> >> >>>>>>>>
> >> >>>>>>>>Include the package ti-gc320-libs-dev as a runtime dependency.
> >> >>>>>>>>
> >> >>>>>>>>Signed-off-by: Antonios Christidis <a-christidis@ti.com>
> >> >>>>>>>>---
> >> >>>>>>>>
> >> >>>>>>>>v2:
> >> >>>>>>>>- Added dev-deps on INSANE_SKIP
> >> >>>>>>>>
> >> >>>>>>>>  .../ti-gc320-tests/ti-gc320-tests_5.0.11.p7.bb | 3 ++-
> >> >>>>>>>>  1 file changed, 2 insertions(+), 1 deletion(-)
> >> >>>>>>>>
> >> >>>>>>>>diff --git a/meta-arago-extras/recipes-graphics/ti-gc320-tests/ti-gc320-tests_5.0.11.p7.bb b/meta-arago-extras/recipes-graphics/ti-gc320-tests/ti-gc320-tests_5.0.11.p7.bb
> >> >>>>>>>>
> >> >>>>>>>>index f9b9685f..14278d76 100644
> >> >>>>>>>>--- a/meta-arago-extras/recipes-graphics/ti-gc320-tests/ti-gc320-tests_5.0.11.p7.bb
> >> >>>>>>>>+++ b/meta-arago-extras/recipes-graphics/ti-gc320-tests/ti-gc320-tests_5.0.11.p7.bb
> >> >>>>>>>>@@ -4,6 +4,7 @@ LICENSE = "MIT"
> >> >>>>>>>>  LIC_FILES_CHKSUM = "file://dra7x-sdk-ti-gc320-tests_manifest.html;md5=22a001855467f373c47f45de5330e3c9"
> >> >>>>>>>>    DEPENDS = "ti-gc320-libs"
> >> >>>>>>>>+RDEPENDS:${PN}:append = " ti-gc320-libs-dev"
> >> >>>>>>>
> >> >>>>>>>This should be detected and set for you based on DEPENDS. You don't
> >> >>>>>>>need any change here.
> >> >>>>>>>
> >> >>>>>>>Andrew
> >> >>>>>>>
> >> >>>>>>The way DEPENDS is setup it will not include
> >> >>>>>>ti-gc320-libs-dev package in the fs.
> >> >>>>>>
> >> >>>>>>  The contents of the -dev package are required at
> >> >>>>>>runtime for the gc320 tests.
> >> >>>>>>
> >> >>>>>
> >> >>>>>Why? What is going into the dev package that is needed by the tests?
> >> >>>>>
> >> >>>>>Andrew
> >> >>>>>
> >> >>>>libGAL.so symb link.
> >> >>>
> >> >>>If users of this library are meant to dlopen() that file, then
> >> >>>add it to the
> >> >>>regular ti-gc320-libs package.
> >> >>>
> >> >>>
> >> >>I did that in [1]. However, Denys let me know symb link should
> >> >>go in the -dev package.
> >> >>
> >> >
> >> >For header files I'd agree, and usually for .so files. But in this
> >> >case if
> >> >the users of this need this file (as in it is not just used for
> >> >compiling)
> >> >then it can go in the base package. We do this for instance with
> >> >GStreamer
> >> >plugins[0].
> >> >
> >> I prefer the above option. Ryan, Denys, Randolph what do you think ?
> >
> > 1. Is libGAL.so a symlink to a versioned libGAL.so.X.Y.Z or libGAL.so.X 
> > library?
> >
> > 2. Does it get linked during compile time, like a regular shared library, 
> > or is it meant to be dlopen()-ed?
> >
> >
> > If it's a regular shared library and .so is a symlink to a versioned copy, 
> > then .so should go into -dev package and you don't pull that package into 
> > a rootfs, unless you want to enable on-target development.
> >
> > If it's a regular shared library that gets linked at build time, but there's 
> > no versioned copies produced, as .so is the only output, then the best option 
> > os to fix your build to produce versioned copies and .so synlink. Alternative, 
> > but less desirable option, is to put .so library (not synlink) into the main 
> > package, like Andrew mentioned.
> >
> > If this .so is meant to be dlopen() at runtime, then it should not be a 
> > symlink, first of all, but then you also want to move it into the main 
> > package.
> 
> Glad we all agree here. It's my understanding that multiple applications (both
> in and out of our control) have gotten use to dlopen-ing that unversioned so.
> It's a borderline requirement to have it now.
> 
> Antonios, the package should not produce any "-dev" package variant. Override
> the PACKAGES, FILES, and INSANE_SKIP variables like mesa or the rogue-umlibs do
> right now to do this correctly.

Hold a sec, that was exactly the comment for the first revision of this 
patch[1]. There's a default -dev package and it is correct, because besides 
this .so there are also header files being installed, which do belong in the 
corresponding -dev package. All that gets handled automatically. What we are 
saying here is that if the unversioned .so needs to be dlopen()-ed, then it 
can be moved to the main poackage.

The proper way to do this:
https://git.openembedded.org/openembedded-core/tree/meta/recipes-graphics/spir/spirv-tools_1.3.296.0.bb#n45
https://git.yoctoproject.org/meta-arago/tree/meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library_24.12.bb#n54
https://git.yoctoproject.org/meta-arago/tree/meta-arago-extras/recipes-framework/onnx/onnx_1.16.1.bb#n103


BTW, I don't see umlibs installing any header files, while mesa-pvr builds 
on top of upstream mesa.inc, which packages different header files into 
corresponding -dev packages...


> > Also, you don't pull header files into the main package[1], even if you need 
> > to enable on-target development - you use -dev package along with other 
> > tools. Normally you enable that with "dev-pkgs" in IMAGE_FEATURES or globally 
> > in EXTRA_IMAGE_FEATURES.
> >
> > And lastly - you don't ever want to try to pull even a single -dev package 
> > explicitly via RDEPENDS, because it will trigger a chain reaction for many 
> > other -dev packages, so it will blow up your dependency tree. I already 
> > explained it here:
> > https://lists.yoctoproject.org/g/meta-arago/message/15696
> 
> >> >Another option is to fix up the tests so they link with libGAL the
> >> >normal way..
> >> >
> >> >[0] https://git.yoctoproject.org/meta-arago/tree/meta-arago-extras/recipes-multimedia/gst-plugins-ti/gstreamer1.0-plugins-hevc_git.bb?h=scarthgap#n32
> >> >
> >> >>[1] = https://patchwork.yoctoproject.org/project/ti/patch/20250212201830.2090247-3-a-christidis@ti.com/


  reply	other threads:[~2025-03-07  0:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-06  0:04 [meta-arago][scarthgap/master][PATCH v2] ti-gc320-tests: Add RDEPENDS ti-gc320-libs-dev a-christidis
2025-03-06 13:32 ` Andrew Davis
2025-03-06 16:03   ` Antonios Christidis
2025-03-06 16:57     ` Andrew Davis
     [not found]       ` <b643b122-8bfd-42fb-82d8-d67631a477e8@ti.com>
     [not found]         ` <c6965134-98fb-4ce6-9086-e7760e2df38f@ti.com>
2025-03-06 17:29           ` Antonios Christidis
2025-03-06 17:35             ` Andrew Davis
2025-03-06 18:50               ` Antonios Christidis
2025-03-06 19:53                 ` Denys Dmytriyenko
2025-03-06 23:41                   ` Randolph Sapp
2025-03-07  0:31                     ` Denys Dmytriyenko [this message]
2025-03-07  2:11                       ` Randolph Sapp
     [not found]                       ` <182A636105614804.13616@lists.yoctoproject.org>
2025-03-07  2:15                         ` Randolph Sapp

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=20250307003144.GQ1879@denix.org \
    --to=denis@denix.org \
    --cc=a-christidis@ti.com \
    --cc=afd@ti.com \
    --cc=meta-arago@lists.yoctoproject.org \
    --cc=reatmon@ti.com \
    --cc=rs@ti.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.