> -----Original Message-----
> From: Yi Zhao <yi.z...@windriver.com>
> Sent: den 25 september 2024 04:17
> To: Peter Kjellerstedt <peter.kjellerst...@axis.com>; Yi Zhao 
> <yi.z...@eng.windriver.com>
> Cc: openembedded-devel@lists.openembedded.org
> Subject: Re: [oe] [meta-oe][PATCH 1/2] protobuf: add abseil-cpp to RDEPENDS
> 
> 
> On 9/24/24 03:02, Peter Kjellerstedt wrote:
> >> -----Original Message-----
> >> From: openembedded-devel@lists.openembedded.org 
> >> <openembedded-devel@lists.openembedded.org> On Behalf Of Yi Zhao
> >> Sent: den 22 september 2024 09:36
> >> To: openembedded-devel@lists.openembedded.org
> >> Subject: [oe] [meta-oe][PATCH 1/2] protobuf: add abseil-cpp to RDEPENDS
> >>
> >> Since commit[1], the libraries of abseil-cpp have been splitted into
> >> separate packages. When protobuf is installed into the image, only 48
> >> abseil libraries are installed as runtime dependencies. But the output
> >> of 'pkg-config --libs protobuf' lists 66 abseil-cpp libraries are
> >> required. Add abseil-cpp to RDEPENDS to ensure that all required
> >> abseil-cpp libraries are installed.
> >>
> >> [1] 
> >> https://git.openembedded.org/meta-openembedded/commit/?id=dd6421e65eb75c35a904f4b487ba022075035ecc
> >>
> >> Signed-off-by: Yi Zhao <yi.z...@windriver.com>
> >> ---
> >>   meta-oe/recipes-devtools/protobuf/protobuf_4.25.4.bb | 2 ++
> >>   1 file changed, 2 insertions(+)
> >>
> >> diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.4.bb 
> >> b/meta-oe/recipes-devtools/protobuf/protobuf_4.25.4.bb
> >> index cc5204de4..354b3213a 100644
> >> --- a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.4.bb
> >> +++ b/meta-oe/recipes-devtools/protobuf/protobuf_4.25.4.bb
> >> @@ -106,6 +106,8 @@ FILES:${PN}-lite = 
> >> "${libdir}/libprotobuf-lite${SOLIBS}"
> >>   # CMake requires protoc binary to exist in sysroot, even if it has wrong 
> >> architecture.
> >>   SYSROOT_DIRS += "${bindir}"
> >>
> >> +RDEPENDS:${PN} = "abseil-cpp"
> >> +RDEPENDS:${PN}-lite = "abseil-cpp"
> >
> > This defeats the whole purpose of splitting up the abseil
> > libraries. What triggered this change? Was it an actual
> > runtime error, or were you only looking at the output
> > from pkg-config --libs protobuf?
> >
> > Since the .pc files are in the protobuf-dev package, which
> > depends on the abseil-cpp-dev package, all abseil libraries
> > should be available if you are actually building on target
> > or with an SDK.
> 
> Our customer reported this issue. Here is his description:
> The abseil libraries will be included in the SDK, but not on the target.
> The application is building with SDK. The yocto build is adding protobuf
> to the image (no explicit abseil libraries are added). If an application
> then are built using the SDK it can not be executed on target as
> libraries are missing.

Can we at least change the dependency to a recommendation so 
that it can be avoided via BAD_RECOMMENDATIONS? Because as it 
is, it penalizes everyone that use protobuf for the case where 
one provides an SDK with protobuf.

My suggestion would be to change it to:

# Recommend abseil-cpp so that all its libraries are installed in case 
# protobuf is provided as part of an SDK. Everyone else should add
# BAD_RECOMMENDATIONS += "abseil-cpp" to their configuration.
RRECOMMENDS:${PN} = "abseil-cpp"
RRECOMMENDS:${PN}-lite = "abseil-cpp"

> //Yi
> 
> >>   RDEPENDS:${PN}-compiler = "${PN}"
> >>   RDEPENDS:${PN}-dev += "${PN}-compiler"
> >>   RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 
> >> 'python', 'python3-protobuf', '', d)}"
> >> --
> >> 2.25.1
> > //Peter

//Peter

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#112630): 
https://lists.openembedded.org/g/openembedded-devel/message/112630
Mute This Topic: https://lists.openembedded.org/mt/108587631/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to