Re: [yocto] Dependency for binary package

2022-08-26 Thread Khem Raj
On Fri, Aug 26, 2022 at 10:38 AM Rudolf J Streif 
wrote:

>
> On 8/25/22 5:44 PM, Khem Raj wrote:
> > On Thu, Aug 25, 2022 at 4:56 PM Rudolf J Streif
> >  wrote:
> >>
> >> On 8/25/22 4:49 PM, Khem Raj wrote:
> >>> On Thu, Aug 25, 2022 at 4:44 PM Rudolf J Streif
> >>>  wrote:
>  Thanks, Khem.
> 
>  On 8/25/22 4:27 PM, Khem Raj wrote:
> > On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
> >  wrote:
> >> I am packaging a binary package that has been built with the SDK
> created
> >> with the exact same configuration.
> >>
> >> During do_package I am getting an error that a dependency on
> >> libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does
> not
> >> resolve the issue. I can bypass it in the recipe by adding
> file-rdeps to
> >> INSANE_SKIP. However, then when the rootfs is created libdnf
> complains
> >> that the dependency on libGLES is not met and aborts.
> >>
> >> The application works just fine on the target if I copy it manually
> to
> >> the rootfs but that's not the best thing to do. It should be
> packaged
> >> and installed.
> >>
> >> Unfortunately I don't understand well enough how these checks work
> and
> >> why they are complaining about it. Maybe somebody can shed some
> light on it.
> > some libraries do not set SONAME in them, which can trip the shlibs
> > code. Can you
> > check if libgles in question has SONAME encoded in its ELF header
> >
> > readelf -d  | grep SONAME
> >
> > might be what you can use to deduce it.
>  libGLESv2 in question on the target was built with YP:
> 
>  0x000e (SONAME) Library soname:
> [libGLESv2.so.2]
> 
>  The SDK that builds the application was built with the same YP setup.
>  That's why I am scratching my head.
> >>> interesting, are you adding RDEPENDS on libgles2-mesa ?
> >> Yes, but that does not satisfy the dependency:
> >>
> >> ERROR: virtuoso-0.1-r0 do_package_qa: QA Issue: /opt/virtuoso/virtuoso
> >> contained in package virtuoso requires libGLESv2.so()(64bit), but no
> >> providers found in RDEPENDS:virtuoso? [file-rdeps]
> > I see a potential problem here, the soname is libGLESv2.so.2 but the
> > dependency its
> > complaining about is libGLESv2.so()(64bit), ( you see the missing
> > version number ?)
> >
> > Can you run
> >
> > readelf -d   | grep NEEDED
> >
> > and see what libs are encoded in the ELF
>
> Yes, I have. These are the libs:
>
>   0x0001 (NEEDED) Shared library: [libQt5Quick.so.5]
>   0x0001 (NEEDED) Shared library: [libQt5Gui.so.5]
>   0x0001 (NEEDED) Shared library: [libQt5Qml.so.5]
>   0x0001 (NEEDED) Shared library:
> [libQt5Network.so.5]
>   0x0001 (NEEDED) Shared library:
> [libQt5SerialPort.so.5]
>   0x0001 (NEEDED) Shared library: [libQt5Core.so.5]
>   0x0001 (NEEDED) Shared library: [librt.so.1]
>   0x0001 (NEEDED) Shared library: [libdl.so.2]
>   0x0001 (NEEDED) Shared library: [libatomic.so.1]
>   0x0001 (NEEDED) Shared library: [libGLESv2.so]


This is the problem link. So either the sdk has provided them faulty
install or they have replaced some stuff knowiingly or unknowingly or they
have environment issues where their make system is finding this library
elsewhere during their app build

You can ask them for content of Usr/lib of their sdk instAll If you do then
it would be interesting to see if the library and its corresponding links
are intact


>   0x0001 (NEEDED) Shared library: [libpthread.so.0]
>   0x0001 (NEEDED) Shared library: [libstdc++.so.6]
>   0x0001 (NEEDED) Shared library: [libm.so.6]
>   0x0001 (NEEDED) Shared library: [libgcc_s.so.1]
>   0x0001 (NEEDED) Shared library: [libc.so.6]
>
> It's asking for libGLESv2.so. It's no problem on the target since it's
> correctly resolved by ldd:
>
> root@tgt-lcd7:/usr/lib# ldconfig -p |grep libGLES
>  libGLESv2.so.2 (libc6,x86-64) => /lib64/libGLESv2.so.2
>  libGLESv2.so.2 (libc6) => /lib/libGLESv2.so.2
>  libGLESv2.so (libc6,x86-64) => /lib64/libGLESv2.so
>  libGLESv1_CM.so.1 (libc6,x86-64) => /lib64/libGLESv1_CM.so.1
>  libGLESv1_CM.so.1 (libc6) => /lib/libGLESv1_CM.so.1
>  libGLESv1_CM.so (libc6,x86-64) => /lib64/libGLESv1_CM.so
>
> However, I cannot wrap my head around why this would happen with a
> binary that has been compiled and linked with the YP SDK that exactly
> matches the rootfs of the target:
>
> Target:
>
> root@tgt-lcd7:/usr/lib# ls -l libGLES*
> lrwxrwxrwx 1 root root14 Mar  9  2018 libGLESv2.so -> libGLESv2.so.2
> lrwxrwxrwx 1 root root18 Mar  9  2018 libGLESv2.so.2 ->
> libGLESv2.so.2.0.0
> 

Re: [yocto] Dependency for binary package

2022-08-26 Thread Rudolf J Streif


On 8/25/22 5:44 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 4:56 PM Rudolf J Streif
 wrote:


On 8/25/22 4:49 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 4:44 PM Rudolf J Streif
 wrote:

Thanks, Khem.

On 8/25/22 4:27 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
 wrote:

I am packaging a binary package that has been built with the SDK created
with the exact same configuration.

During do_package I am getting an error that a dependency on
libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
resolve the issue. I can bypass it in the recipe by adding file-rdeps to
INSANE_SKIP. However, then when the rootfs is created libdnf complains
that the dependency on libGLES is not met and aborts.

The application works just fine on the target if I copy it manually to
the rootfs but that's not the best thing to do. It should be packaged
and installed.

Unfortunately I don't understand well enough how these checks work and
why they are complaining about it. Maybe somebody can shed some light on it.

some libraries do not set SONAME in them, which can trip the shlibs
code. Can you
check if libgles in question has SONAME encoded in its ELF header

readelf -d  | grep SONAME

might be what you can use to deduce it.

libGLESv2 in question on the target was built with YP:

0x000e (SONAME) Library soname: [libGLESv2.so.2]

The SDK that builds the application was built with the same YP setup.
That's why I am scratching my head.

interesting, are you adding RDEPENDS on libgles2-mesa ?

Yes, but that does not satisfy the dependency:

ERROR: virtuoso-0.1-r0 do_package_qa: QA Issue: /opt/virtuoso/virtuoso
contained in package virtuoso requires libGLESv2.so()(64bit), but no
providers found in RDEPENDS:virtuoso? [file-rdeps]

I see a potential problem here, the soname is libGLESv2.so.2 but the
dependency its
complaining about is libGLESv2.so()(64bit), ( you see the missing
version number ?)

Can you run

readelf -d   | grep NEEDED

and see what libs are encoded in the ELF


Yes, I have. These are the libs:

 0x0001 (NEEDED) Shared library: [libQt5Quick.so.5]
 0x0001 (NEEDED) Shared library: [libQt5Gui.so.5]
 0x0001 (NEEDED) Shared library: [libQt5Qml.so.5]
 0x0001 (NEEDED) Shared library: 
[libQt5Network.so.5]
 0x0001 (NEEDED) Shared library: 
[libQt5SerialPort.so.5]

 0x0001 (NEEDED) Shared library: [libQt5Core.so.5]
 0x0001 (NEEDED) Shared library: [librt.so.1]
 0x0001 (NEEDED) Shared library: [libdl.so.2]
 0x0001 (NEEDED) Shared library: [libatomic.so.1]
 0x0001 (NEEDED) Shared library: [libGLESv2.so]
 0x0001 (NEEDED) Shared library: [libpthread.so.0]
 0x0001 (NEEDED) Shared library: [libstdc++.so.6]
 0x0001 (NEEDED) Shared library: [libm.so.6]
 0x0001 (NEEDED) Shared library: [libgcc_s.so.1]
 0x0001 (NEEDED) Shared library: [libc.so.6]

It's asking for libGLESv2.so. It's no problem on the target since it's 
correctly resolved by ldd:


root@tgt-lcd7:/usr/lib# ldconfig -p |grep libGLES
    libGLESv2.so.2 (libc6,x86-64) => /lib64/libGLESv2.so.2
    libGLESv2.so.2 (libc6) => /lib/libGLESv2.so.2
    libGLESv2.so (libc6,x86-64) => /lib64/libGLESv2.so
    libGLESv1_CM.so.1 (libc6,x86-64) => /lib64/libGLESv1_CM.so.1
    libGLESv1_CM.so.1 (libc6) => /lib/libGLESv1_CM.so.1
    libGLESv1_CM.so (libc6,x86-64) => /lib64/libGLESv1_CM.so

However, I cannot wrap my head around why this would happen with a 
binary that has been compiled and linked with the YP SDK that exactly 
matches the rootfs of the target:


Target:

root@tgt-lcd7:/usr/lib# ls -l libGLES*
lrwxrwxrwx 1 root root    14 Mar  9  2018 libGLESv2.so -> libGLESv2.so.2
lrwxrwxrwx 1 root root    18 Mar  9  2018 libGLESv2.so.2 -> 
libGLESv2.so.2.0.0

-rwxr-xr-x 1 root root 46792 Mar  9  2018 libGLESv2.so.2.0.0

SDK:

[rstreif@threaddy lib]$ ls -l libGLES*
lrwxrwxrwx. 1 rstreif rstreif    14 Aug 25 11:35 libGLESv2.so -> 
libGLESv2.so.2
lrwxrwxrwx. 1 rstreif rstreif    18 Aug 25 11:36 libGLESv2.so.2 -> 
libGLESv2.so.2.0.0

-rwxr-xr-x. 1 rstreif rstreif 46792 Aug 25 11:36 libGLESv2.so.2.0.0

Unfortunately I don't have the sources of the application otherwise I 
would have YP build it. But the customer claims they are building it 
with the SDK. I am trying to get to the bottom of their end too.






I can SKIP_INSANE file-rdeps but then I am getting the same issue when
creating the rootfs with dnf.

But in all fairness, I don't have control over the entire process. The
customer builds the executable with the SDK I gave them. They give me
the executable to put in the rootfs.


Thanks,
Rudi





--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700


--
Rudolf J Streif

Re: [yocto] Dependency for binary package

2022-08-25 Thread Khem Raj
On Thu, Aug 25, 2022 at 4:56 PM Rudolf J Streif
 wrote:
>
>
> On 8/25/22 4:49 PM, Khem Raj wrote:
> > On Thu, Aug 25, 2022 at 4:44 PM Rudolf J Streif
> >  wrote:
> >> Thanks, Khem.
> >>
> >> On 8/25/22 4:27 PM, Khem Raj wrote:
> >>> On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
> >>>  wrote:
>  I am packaging a binary package that has been built with the SDK created
>  with the exact same configuration.
> 
>  During do_package I am getting an error that a dependency on
>  libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
>  resolve the issue. I can bypass it in the recipe by adding file-rdeps to
>  INSANE_SKIP. However, then when the rootfs is created libdnf complains
>  that the dependency on libGLES is not met and aborts.
> 
>  The application works just fine on the target if I copy it manually to
>  the rootfs but that's not the best thing to do. It should be packaged
>  and installed.
> 
>  Unfortunately I don't understand well enough how these checks work and
>  why they are complaining about it. Maybe somebody can shed some light on 
>  it.
> >>> some libraries do not set SONAME in them, which can trip the shlibs
> >>> code. Can you
> >>> check if libgles in question has SONAME encoded in its ELF header
> >>>
> >>>readelf -d  | grep SONAME
> >>>
> >>> might be what you can use to deduce it.
> >> libGLESv2 in question on the target was built with YP:
> >>
> >>0x000e (SONAME) Library soname: [libGLESv2.so.2]
> >>
> >> The SDK that builds the application was built with the same YP setup.
> >> That's why I am scratching my head.
> > interesting, are you adding RDEPENDS on libgles2-mesa ?
>
> Yes, but that does not satisfy the dependency:
>
> ERROR: virtuoso-0.1-r0 do_package_qa: QA Issue: /opt/virtuoso/virtuoso
> contained in package virtuoso requires libGLESv2.so()(64bit), but no
> providers found in RDEPENDS:virtuoso? [file-rdeps]

I see a potential problem here, the soname is libGLESv2.so.2 but the
dependency its
complaining about is libGLESv2.so()(64bit), ( you see the missing
version number ?)

Can you run

readelf -d   | grep NEEDED

and see what libs are encoded in the ELF

>
> I can SKIP_INSANE file-rdeps but then I am getting the same issue when
> creating the rootfs with dnf.
>
> But in all fairness, I don't have control over the entire process. The
> customer builds the executable with the SDK I gave them. They give me
> the executable to put in the rootfs.
>
> >
>  Thanks,
>  Rudi
> 
> 
>  
> 
> >> --
> >> Rudolf J Streif
> >> CEO/CTO ibeeto
> >> +1.855.442.3386 x700
> >>
> --
> Rudolf J Streif
> CEO/CTO ibeeto
> +1.855.442.3386 x700
>

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Rudolf J Streif


On 8/25/22 4:49 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 4:44 PM Rudolf J Streif
 wrote:

Thanks, Khem.

On 8/25/22 4:27 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
 wrote:

I am packaging a binary package that has been built with the SDK created
with the exact same configuration.

During do_package I am getting an error that a dependency on
libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
resolve the issue. I can bypass it in the recipe by adding file-rdeps to
INSANE_SKIP. However, then when the rootfs is created libdnf complains
that the dependency on libGLES is not met and aborts.

The application works just fine on the target if I copy it manually to
the rootfs but that's not the best thing to do. It should be packaged
and installed.

Unfortunately I don't understand well enough how these checks work and
why they are complaining about it. Maybe somebody can shed some light on it.

some libraries do not set SONAME in them, which can trip the shlibs
code. Can you
check if libgles in question has SONAME encoded in its ELF header

   readelf -d  | grep SONAME

might be what you can use to deduce it.

libGLESv2 in question on the target was built with YP:

   0x000e (SONAME) Library soname: [libGLESv2.so.2]

The SDK that builds the application was built with the same YP setup.
That's why I am scratching my head.

interesting, are you adding RDEPENDS on libgles2-mesa ?


Yes, but that does not satisfy the dependency:

ERROR: virtuoso-0.1-r0 do_package_qa: QA Issue: /opt/virtuoso/virtuoso 
contained in package virtuoso requires libGLESv2.so()(64bit), but no 
providers found in RDEPENDS:virtuoso? [file-rdeps]


I can SKIP_INSANE file-rdeps but then I am getting the same issue when 
creating the rootfs with dnf.


But in all fairness, I don't have control over the entire process. The 
customer builds the executable with the SDK I gave them. They give me 
the executable to put in the rootfs.





Thanks,
Rudi





--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700


--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700



OpenPGP_0x8D8CA82927339B75.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Khem Raj
On Thu, Aug 25, 2022 at 4:44 PM Rudolf J Streif
 wrote:
>
> Thanks, Khem.
>
> On 8/25/22 4:27 PM, Khem Raj wrote:
> > On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
> >  wrote:
> >> I am packaging a binary package that has been built with the SDK created
> >> with the exact same configuration.
> >>
> >> During do_package I am getting an error that a dependency on
> >> libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
> >> resolve the issue. I can bypass it in the recipe by adding file-rdeps to
> >> INSANE_SKIP. However, then when the rootfs is created libdnf complains
> >> that the dependency on libGLES is not met and aborts.
> >>
> >> The application works just fine on the target if I copy it manually to
> >> the rootfs but that's not the best thing to do. It should be packaged
> >> and installed.
> >>
> >> Unfortunately I don't understand well enough how these checks work and
> >> why they are complaining about it. Maybe somebody can shed some light on 
> >> it.
> > some libraries do not set SONAME in them, which can trip the shlibs
> > code. Can you
> > check if libgles in question has SONAME encoded in its ELF header
> >
> >   readelf -d  | grep SONAME
> >
> > might be what you can use to deduce it.
>
> libGLESv2 in question on the target was built with YP:
>
>   0x000e (SONAME) Library soname: [libGLESv2.so.2]
>
> The SDK that builds the application was built with the same YP setup.
> That's why I am scratching my head.

interesting, are you adding RDEPENDS on libgles2-mesa ?

>
> >
> >> Thanks,
> >> Rudi
> >>
> >>
> >> 
> >>
> --
> Rudolf J Streif
> CEO/CTO ibeeto
> +1.855.442.3386 x700
>

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Rudolf J Streif

Thanks, Khem.

On 8/25/22 4:27 PM, Khem Raj wrote:

On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
 wrote:

I am packaging a binary package that has been built with the SDK created
with the exact same configuration.

During do_package I am getting an error that a dependency on
libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
resolve the issue. I can bypass it in the recipe by adding file-rdeps to
INSANE_SKIP. However, then when the rootfs is created libdnf complains
that the dependency on libGLES is not met and aborts.

The application works just fine on the target if I copy it manually to
the rootfs but that's not the best thing to do. It should be packaged
and installed.

Unfortunately I don't understand well enough how these checks work and
why they are complaining about it. Maybe somebody can shed some light on it.

some libraries do not set SONAME in them, which can trip the shlibs
code. Can you
check if libgles in question has SONAME encoded in its ELF header

  readelf -d  | grep SONAME

might be what you can use to deduce it.


libGLESv2 in question on the target was built with YP:

 0x000e (SONAME) Library soname: [libGLESv2.so.2]

The SDK that builds the application was built with the same YP setup. 
That's why I am scratching my head.





Thanks,
Rudi





--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700



OpenPGP_0x8D8CA82927339B75.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Khem Raj
On Thu, Aug 25, 2022 at 7:30 AM Rudolf J Streif
 wrote:
>
> I am packaging a binary package that has been built with the SDK created
> with the exact same configuration.
>
> During do_package I am getting an error that a dependency on
> libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not
> resolve the issue. I can bypass it in the recipe by adding file-rdeps to
> INSANE_SKIP. However, then when the rootfs is created libdnf complains
> that the dependency on libGLES is not met and aborts.
>
> The application works just fine on the target if I copy it manually to
> the rootfs but that's not the best thing to do. It should be packaged
> and installed.
>
> Unfortunately I don't understand well enough how these checks work and
> why they are complaining about it. Maybe somebody can shed some light on it.

some libraries do not set SONAME in them, which can trip the shlibs
code. Can you
check if libgles in question has SONAME encoded in its ELF header

 readelf -d  | grep SONAME

might be what you can use to deduce it.

>
> Thanks,
> Rudi
>
>
> 
>

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Rudolf J Streif

Thank you, Quentin.

On 8/25/22 7:45 AM, Quentin Schulz wrote:

Hi Rudolf,

On 8/25/22 16:30, Rudolf J Streif wrote:
I am packaging a binary package that has been built with the SDK 
created with the exact same configuration.


During do_package I am getting an error that a dependency on 
libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not 
resolve the issue. I can bypass it in the recipe by adding file-rdeps 
to INSANE_SKIP. However, then when the rootfs is created libdnf 
complains that the dependency on libGLES is not met and aborts.


The application works just fine on the target if I copy it manually 
to the rootfs but that's not the best thing to do. It should be 
packaged and installed.


Unfortunately I don't understand well enough how these checks work 
and why they are complaining about it. Maybe somebody can shed some 
light on it.




Bitbake versions its shared libraries. So a binary built by Bitbake 
will link against libGLESv2.so.1.3 (or whatever the version of the lib 
actually is).


This also means that the only shared library that can be used for 
linking is the versioned one.


Bitbake reads the NEEDED section from objdump to identify the runtime 
dependencies and automatically add the packages providing those 
libraries to your image. This is the reason why you do not need to 
explicit RDEPENDS for packages created by recipes in DEPENDS.


The issue here is that Bitbake creates a package which provides 
libGLESv2.so.1.3 but your binary requires libGLESv2.so and Bitbake 
cannot find a package for it.


Yes, that is exactly the issue:

 0x0001 (NEEDED) Shared library: [libQt5Quick.so.5]
 0x0001 (NEEDED) Shared library: [libQt5Gui.so.5]
 0x0001 (NEEDED) Shared library: [libQt5Qml.so.5]
 0x0001 (NEEDED) Shared library: 
[libQt5Network.so.5]
 0x0001 (NEEDED) Shared library: 
[libQt5SerialPort.so.5]

 0x0001 (NEEDED) Shared library: [libQt5Core.so.5]
 0x0001 (NEEDED) Shared library: [librt.so.1]
 0x0001 (NEEDED) Shared library: [libdl.so.2]
 0x0001 (NEEDED) Shared library: [libatomic.so.1]
 0x0001 (NEEDED) Shared library: [libGLESv2.so]
 0x0001 (NEEDED) Shared library: [libpthread.so.0]
 0x0001 (NEEDED) Shared library: [libstdc++.so.6]
 0x0001 (NEEDED) Shared library: [libm.so.6]
 0x0001 (NEEDED) Shared library: [libgcc_s.so.1]
 0x0001 (NEEDED) Shared library: [libc.so.6]

The question is what causes this if the application is built with the 
toolchain and against the rootfs that YP produces.




Usually the way to do it is to ignore the warning like you did, or 
build the binary in Yocto directly. I assume the latter is not 
possible because it is proprietary software compiled by a third-party 
and you don't have access to the source code.


As to how to fix this issue with dnf, I do not know.

One possibility could be to patchelf your binary in Yocto directly but 
you'll need to update this patchelf line every time you update 
libGLESv2 version because it is not possible to get the version from 
one recipe in another.


Cheers,
Quentin


--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700



OpenPGP_0x8D8CA82927339B75.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature

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



Re: [yocto] Dependency for binary package

2022-08-25 Thread Quentin Schulz

Hi Rudolf,

On 8/25/22 16:30, Rudolf J Streif wrote:
I am packaging a binary package that has been built with the SDK created 
with the exact same configuration.


During do_package I am getting an error that a dependency on 
libGLESv2.so()(64bit) cannot be met. Adding mesa to RDEPENDS does not 
resolve the issue. I can bypass it in the recipe by adding file-rdeps to 
INSANE_SKIP. However, then when the rootfs is created libdnf complains 
that the dependency on libGLES is not met and aborts.


The application works just fine on the target if I copy it manually to 
the rootfs but that's not the best thing to do. It should be packaged 
and installed.


Unfortunately I don't understand well enough how these checks work and 
why they are complaining about it. Maybe somebody can shed some light on 
it.




Bitbake versions its shared libraries. So a binary built by Bitbake will 
link against libGLESv2.so.1.3 (or whatever the version of the lib 
actually is).


This also means that the only shared library that can be used for 
linking is the versioned one.


Bitbake reads the NEEDED section from objdump to identify the runtime 
dependencies and automatically add the packages providing those 
libraries to your image. This is the reason why you do not need to 
explicit RDEPENDS for packages created by recipes in DEPENDS.


The issue here is that Bitbake creates a package which provides 
libGLESv2.so.1.3 but your binary requires libGLESv2.so and Bitbake 
cannot find a package for it.


Usually the way to do it is to ignore the warning like you did, or build 
the binary in Yocto directly. I assume the latter is not possible 
because it is proprietary software compiled by a third-party and you 
don't have access to the source code.


As to how to fix this issue with dnf, I do not know.

One possibility could be to patchelf your binary in Yocto directly but 
you'll need to update this patchelf line every time you update libGLESv2 
version because it is not possible to get the version from one recipe in 
another.


Cheers,
Quentin

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