[yocto] Trying to build a non-autotools package that contains only a lib. Getting empty archive - package is not generated

Brian Hutchinson b.hutchman at gmail.com
Thu Dec 5 05:42:22 PST 2013


On Wed, Dec 4, 2013 at 5:38 PM, Chris Larson <clarson at kergoth.com> wrote:

>
> On Wed, Dec 4, 2013 at 3:29 PM, Brian Hutchinson <b.hutchman at gmail.com>wrote:
>
>> On Wed, Dec 4, 2013 at 5:10 PM, Chris Larson <clarson at kergoth.com> wrote:
>>
>>>
>>> do_install is the task that installs. If your makefile has an install
>>> target, you’d define a do_install that runs it. But not all makefiles
>>> provide an equivalent to automake’s DESTDIR, which is why we don’t provide
>>> a do_install for non-autotools make-based buildsystems. Either manually
>>> install the library where it belongs in your do_install, e.g. with the
>>> ‘install’ or ‘cp’ commands, or define one which runs the appropriate make
>>> command to install the files into ${D}.
>>>  --
>>>
>>> Thanks Chris.
>>
>> I do have a do_install that is copying stuff to ${D}/usr/lib which puts
>> things in my sysroot ... but what target do I use to get stuff into the
>> package which is used by my IMAGE_INSTALL line?  When I tar tvf my
>> core-image.tar and grep for my .so it currently isn't there ... but it and
>> the headers are in the sysroot.
>>
>
> do_install. The contents of ${D} are where the FILES globs are matched. We
> don’t include the raw libfoo.so, since that’s supposed to be a symlink. If
> your lib is missing an SONAME, it’d be named incorrectly and be missing a
> symlink, and the lib would end up in the -dev package instead of the main
> package.
> --
>
> The lib that the makefile generates is just a soname  like libfoo.so.  So
you're telling me it will not pick that file up?  I guess I need to find
the class that handles this and study it as I'm probably not picking up all
you're telling me.  Like I said, this used to work and now it doesn't so
I'm still at a loss as to what I need to do.  It is making it into the
sysroot but not the package and the rootfs image is built from all the
IMAGE_INSTALL package names so it isn't making it into the rootfs.

Do I just cheat and make my do_install copy my .so file to
packages-split/mypackage/usr/lib?

Regards,

Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20131205/6b6b5798/attachment.html>


More information about the yocto mailing list