Shared lib symlinks in target image
Lijun Chen
Hi,
When I build a yocto image, I added some packages into IMAGE_INSTALL, such as boost, thrift, etc. I notice in the target OS image, the shared libs don't the symlinks. But in the SDK image, the symlinks are there. For example, lrwxrwxrwx 1 root root 22 Oct 2 16:41 libboost_filesystem-mt.so -> libboost_filesystem.so
Is there a way to add the symlinks to the target image as well?
lrwxrwxrwx 1 root root 29 Oct 2 16:41 libboost_filesystem.so -> libboost_filesystem.so.1.75.0
With the symlinks, I assume we can run an old application even the dependent lib is a newer version?
Thanks, Lijun This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. |
|
On Sat, Oct 2, 2021 at 6:55 PM Lijun Chen <lijchen@...> wrote:
unversioned symlinks should not be used they are there to be used for linking during build time. Unless you need to do builds on targets you really do not need them so explain you usecase. Are you trying to build stuff on device ?
|
|
Lijun Chen
I have an app built in a different environment that has lower versioned libs, such as boost. I was wondering if on the target there are symlinks to those libs, whether the app can be run on a target that has newer libs without resbuild against a matched
env. Seems that is not viable. From: Khem Raj <raj.khem@...>
Sent: Saturday, October 2, 2021 11:23:58 PM To: Lijun Chen Cc: yocto@... Subject: Re: [yocto] Shared lib symlinks in target image On Sat, Oct 2, 2021 at 6:55 PM Lijun Chen <lijchen@...> wrote:
> > Hi, > > > When I build a yocto image, I added some packages into IMAGE_INSTALL, such as boost, thrift, etc. I notice in the target OS image, the shared libs don't the symlinks. But in the SDK image, the symlinks are there. For example, > > lrwxrwxrwx 1 root root 22 Oct 2 16:41 libboost_filesystem-mt.so -> libboost_filesystem.so > lrwxrwxrwx 1 root root 29 Oct 2 16:41 libboost_filesystem.so -> libboost_filesystem.so.1.75.0 > > Is there a way to add the symlinks to the target image as well? > > > With the symlinks, I assume we can run an old application even the dependent lib is a newer version? > unversioned symlinks should not be used they are there to be used for linking during build time. Unless you need to do builds on targets you really do not need them so explain you usecase. Are you trying to build stuff on device ? > > Thanks, > > Lijun > > ________________________________ > This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. > > > This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. |
|
Libraries have another symlink which looks something like libfoo.so.1 and 2 etc that is the one which should be used by apps On Mon, Oct 4, 2021 at 6:12 AM Lijun Chen <lijchen@...> wrote:
|
|
Richard Purdie
On Sun, 2021-10-03 at 01:55 +0000, Lijun Chen wrote:
Hi,The symlinks will be in the XXX-dev packages so boost-dev probably has them for boost. They aren't needed on target unless you're compiling things which is why they're separated out. Cheers, Richard |
|