Hello all,
I have an interesting situation with libcansocket and bitbake that I cannot
wrap my head around. For some reason, the packages are being split up somewhat
strangely and I cannot figure out why.
First of all, the recipe used is:
https://github.com/openembedded/meta-openembedded/blob/9a0de2779b9b31f134ffe19388b5b9b37bb6450e/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
So no strange things there.
Additionally, looking at the built items:
../build/tmp/work/aarch64-poky-linux/libsocketcan/0.0.11-r0/image/usr/lib$ ls
-lah libsocketcan*
lrwxrwxrwx 1 tuomas tuomas 21 maali 18 10:38 libsocketcan.so ->
libsocketcan.so.2.3.0
lrwxrwxrwx 1 tuomas tuomas 21 maali 18 10:38 libsocketcan.so.2 ->
libsocketcan.so.2.3.0
-rwxr-xr-x 1 tuomas tuomas 58K maali 18 10:38 libsocketcan.so.2.3.0
All looks good at this point. Now, when I deploy the image, the first link is
missing.
When I look at pkgdata I can see that the link ends up in libsocketcan-dev:
$ oe-pkgdata-util list-pkg-files libsocketcan
libsocketcan:
/usr/lib/libsocketcan.so.2
/usr/lib/libsocketcan.so.2.3.0
$ oe-pkgdata-util list-pkg-files libsocketcan-dev
libsocketcan-dev:
/usr/include/can_netlink.h
/usr/include/libsocketcan.h
/usr/lib/libsocketcan.so
/usr/lib/pkgconfig/libsocketcan.pc
I have been through the logs and cannot figure out why.
I tried adding:
FILES_${PN} += " ${libdir} /*.so"
But no luck.
Looking at pkgdata/runtime/libsocketcan I notice:
FILES_libsocketcan: /usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.*
/usr/lib/*.so
FILES_INFO: {"/usr/lib/libsocketcan.so.2": 21,
"/usr/lib/libsocketcan.so.2.3.0": 14080}
pkg_postinst_libsocketcan:
#!/bin/sh\nset -e\nif [ x"$D" = "x" ]; then\n\tif [ -x /sbin/ldconfig
]; then /sbin/ldconfig ; fi\nfi\n
FILERPROVIDESFLIST_libsocketcan: /usr/lib/libsocketcan.so.2.3.0
FILERPROVIDES_/usr/lib/libsocketcan.so.2.3.0_libsocketcan:
libsocketcan.so.2()(64bit)
FILERDEPENDSFLIST_libsocketcan: /usr/lib/libsocketcan.so.2.3.0
FILERDEPENDS_/usr/lib/libsocketcan.so.2.3.0_libsocketcan:
ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.17)(64bit)
libc.so.6()(64bit) ld-linux-aarch64.so.1()(64bit) rtld(GNU_HASH)
PKGSIZE_libsocketcan: 14101 But again this is missing the .so for some reason.
Additionally, I noticed that for some reason the package is renamed to
libsocketcan2 (log.do_package).
Why? Could this be part of the issue?
> NOTE: debian: renaming libsocketcan to libsocketcan2
How does pkgconfig decide how to split packages. Can anyone point me to proper
documentation?
Thanks!
Tuomas Huuki
Crosscontrol Oy
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#52877): https://lists.yoctoproject.org/g/yocto/message/52877
Mute This Topic: https://lists.yoctoproject.org/mt/81597169/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-