Hi Joel,
On 4/16/24 19:09, Joel GUITTET via Lists.Yoctoproject.Org wrote:
You don't often get email from
[email protected]. Learn why this is
important<https://aka.ms/LearnAboutSenderIdentification>
Hello Quentin,
Thanks for the quick reply on this question!
The reason of this organisation is that my customer is responsible of providing library "bar" (he cannot share the source code
with me), and we are responsible of providing library "foo". It's not confortable for sure, but it's the actual state. So my
customer provides me the "bar" libraries (arm and aarch64) compiled (so files), that I copy/paste in my layer. And then I build
"foo" libraries that are linked to "bar" and additionally I have to install only the "foo" libraries in the
rootfs.
So far so good. Not an uncommon setup, bar recipe would be following the
prebuilt binary section in the documentation.
https://docs.yoctoproject.org/dev-manual/prebuilt-libraries.html
The thing I do not understand is why you do NOT want bar on the rootfs?
Your foo shared library explicitly states that it requires libbar.so to
be able to run, why do you not want libbar.so in your rootfs?
The library that is building "foo" have nothing specific to the architecture. The IMAGE_INSTALL has
"lib32-foo" and "foo".
But something to mention that may have an impact here : because of this organization
above my recipe that is building "foo" have the following (else I don't succeed
to build):
This smells like bad build system/instructions for the foo recipe. All
libraries built by Yocto should be versioned, I highly recommend to fix
your foo SW to have some version in there to not have to deal with this.
It's best practice and will help you in the long run anyway (actually
trying to figure out which version the customer is using by simply
looking at the filename for example). But I don't think that should
impact libfoo being added or not.
FILES_SOLIBSDEV = ""
INSANE_SKIP:${PN} += "dev-so"
INSANE_SKIP:${PN} += "file-rdeps"
This INSANE_SKIP isn't that common and I don't think it's that good of
an idea?
There's one thing I missed is that you're building with multilib. Do you
actually have a lib32-bar package and a bar package? Is your libbar.so
available in both aarch32 and aarch64 architectures?
I assume that the automagic RDEPENDS got broken for lib32-foo and you
are not seeing it because of
INSANE_SKIP:${PN} += "file-rdeps"
It's probably trying to locate a multilib lib32 package containing
libbar.so but cannot find any and complains about it. The aarch64
package does find a package for libbar.so so it adds it automatically.
Cheers,
Quentin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#62942): https://lists.yoctoproject.org/g/yocto/message/62942
Mute This Topic: https://lists.yoctoproject.org/mt/105558513/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-