On 10 Jun 2024, at 11:26, Altous, Salahaldeen via lists.yoctoproject.org <Salahaldeen.Altous=leica-camera....@lists.yoctoproject.org> wrote: > > Hi All, > > I have one yocto recipe which inherit meson as build system and generate the > right libs in the image folder > > ├── liblc_core.so -> liblc_core.so.0 > ├── liblc_core.so.0 -> liblc_core.so.0.4.7 > └── liblc_core.so.0.4.7 > but in the deploy-ipks the .so symbolic link is missing > drwxr-xr-x root/root 0 2024-05-08 14:29 ./usr/ > drwxr-xr-x root/root 0 2024-05-08 14:29 ./usr/lib/ > lrwxrwxrwx root/root 0 2024-05-08 14:29 ./usr/lib/liblc_core.so.0 -> > liblc_core.so.0.4.7 > -rwxr-xr-x root/root 26536 2024-05-08 14:29 ./usr/lib/liblc_core.so.0.4.7 > and in the dev-ipk package the missing *.so exist > drwxr-xr-x root/root 0 2024-05-08 14:29 ./usr/lib/ > lrwxrwxrwx root/root 0 2024-05-08 14:29 ./usr/lib/liblc_core.so -> > liblc_core.so.0 > I need to have all in on files/symbolic-link in the release ipk, and the > rootfs wihtout the need to install the dev-ipk later on, any idea what I need > to add in the yocto recipe or the meson file
This is intended behaviour. Conventionally, libraries are versioned (eg liblc_core.so <http://liblc_core.so/>.0.4.7) so that specific binaries link against specific ABIs at runtime, and there are convenience symlinks (liblc_core.so <http://liblc_core.so/>) that are used at link time so you can just link to liblc_core.so <http://liblc_core.so/> and that is resolved to a specific ABI version. This means that at _runtime_ you need the real library, and not the symlink. The symlinks are packaged into the -dev package alongside the headers because they’re only needed if you’re compiling code. This is convention, and there are exceptions. There are two possibilities here: 1) The versioned shared library shouldn’t be versioned, because other binaries use dlopen(“liblc_core.so <http://liblc_core.so/>”) at runtime instead of linking to it at build time. If this is the case then if it’s sensible remove the versioning entirely (as it’s pointless) and read https://docs.yoctoproject.org/next/dev-manual/prebuilt-libraries.html#non-versioned-libraries. 2) You don’t actually need the .so at runtime. Ross
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#63302): https://lists.yoctoproject.org/g/yocto/message/63302 Mute This Topic: https://lists.yoctoproject.org/mt/106589714/21656 Mute #kirkstone:https://lists.yoctoproject.org/g/yocto/mutehashtag/kirkstone Mute #yocto:https://lists.yoctoproject.org/g/yocto/mutehashtag/yocto Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-