[yocto] [meta-freescale] Including Static Libraries from sysroot in an autotools based package

Khem Raj raj.khem at gmail.com
Fri Mar 20 01:24:03 PDT 2015


> On Mar 20, 2015, at 1:09 AM, Priya Agarwal <priya_agarwal at students.iitmandi.ac.in> wrote:
> 
> Hello,
> 
> Sorry to ask this question but I am unable to find any answer in reference manuals.
> ${CC} is a c compiler. For c++ is it ${CXX} or something else.

Yes, you can always do bitbake -e <somepackage>  | grep -e “^CXX=“
and figure out various variables that you want to evaluate

> 
> Thanks.
> 
> On Fri, Mar 20, 2015 at 9:07 AM, Priya Agarwal <priya_agarwal at students.iitmandi.ac.in <mailto:priya_agarwal at students.iitmandi.ac.in>> wrote:
> I have edited the Makefile.am as well in this way:
> 
> squid_LDADD += -lusdpaa_of
> 
> Then I just retarred squid code and build it again.
> 
> And The libraries are shown in the compile command as well, when I see the log.do_compile generated during the build.
> Check Line number 403 in this pastebin link. (ctrl+F 'usdpaa_of' could show where all it occurs). http://pastebin.com/LpaymTQa <http://pastebin.com/LpaymTQa>
> So how is it possible they are not actually linked.
> I even checked the OVERRIDE variable in bitbake.conf which is set correctly. 
> I really need to link this library. :/
> 
> On Fri, Mar 20, 2015 at 8:43 AM, Khem Raj <raj.khem at gmail.com <mailto:raj.khem at gmail.com>> wrote:
> 
>> On Mar 19, 2015, at 2:07 AM, Priya Agarwal <priya_agarwal at students.iitmandi.ac.in <mailto:priya_agarwal at students.iitmandi.ac.in>> wrote:
>> 
>> Hi,
>> 
>> I need to link some libraries which are in sysroot into my source code. These are usdpaa libraries.
>> 
>> I added DEPENDS += "usdpaa" in .bb file.
>> Apart from that also changed the Makefile.am of my source to include the following:
>> area_LDADD = -lusdpaa_of
>> Then I ran aclocal, autoconf, automake --add-missing and retarred my package.
>> 
>> When the package is being built from recipe, do_compile fails. It shows "undefined reference to" error.
>> So this means that libraries are not getting linked by just doing the above changes. What else I need to change?
> 
> I think you need to specify them in Makefile.am using LDADD since it is using auto tools. Please take a look at Automake documentation
> http://www.gnu.org/software/automake/manual/html_node/Linking.html <http://www.gnu.org/software/automake/manual/html_node/Linking.html>
> might be helpful.
> 
>> 
>> I think this problem is specific to autotools based projects as when I include the libraries during the gcc command they are easily included.
>> 
>> do_compile() {
>>     ${CC} check.c -o check -lusdpaa_of
>> }
>> link to area.bb <http://area.bb/>
>> http://pastebin.com/Bef2C7nX <http://pastebin.com/Bef2C7nX>-- 
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
>> https://lists.yoctoproject.org/listinfo/yocto <https://lists.yoctoproject.org/listinfo/yocto>
> 
> 
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale at yoctoproject.org <mailto:meta-freescale at yoctoproject.org>
> https://lists.yoctoproject.org/listinfo/meta-freescale <https://lists.yoctoproject.org/listinfo/meta-freescale>
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150320/7ea2056f/attachment.html>


More information about the yocto mailing list