From: Gerard van den Bosch <gerard@de-haardt.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: poky@yoctoproject.org
Subject: Re: compile application header file missing
Date: Thu, 17 Mar 2011 08:43:40 +0100 [thread overview]
Message-ID: <4D81BBAC.9000402@de-haardt.com> (raw)
In-Reply-To: <1300291688.30423.1890.camel@rex>
On 03/16/2011 05:08 PM, Richard Purdie wrote:
> On Tue, 2011-03-15 at 16:03 +0100, Gerard van den Bosch wrote:
>> I am indeed using the Green release.
>>
>> The TARGET_CFLAGS are indeed the same as the CFLAGS. The system is
>> using the default CC and not the BUILD_CC, thanks for pointing out the
>> difference.
>>
>> I have added the --sysroot option pointing to the arm sysroot to the
>> CFLAGS in my recipe, with compilation it now looks like this:
>> arm-poky-linux-gnueabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon
>> -mfloat-abi=softfp -fno-tree-vectorize -fexpensive-optimizations
>> -fomit-frame-pointer -frename-registers -O2 -ggdb
>> -feliminate-unused-debug-types
>> --sysroot=/home/gerard/green-3.3/build/tmp/sysroots/armv7a-poky-linux-gnueabi/ libxmlpcp.c -o libxmlpcp.o
>>
>> This removes the missing SLP.h error.
>>
>> Is this problem related to my recipe or did I broke my build
>> environment?
> To be honest, I don't know. The compiler should have been defaulting to
> that already so I don't understand why it wasn't working. We now
> explictly set this in master to allow for toolchain relocation and the
> machine specific sysroots support. You could try backporting the piece
> of code I previously referred to which should also fix the problem.
>
> If that option were missing from the toolchain I'd have expected you to
> see other errors rather than just this isolated problem...
It also couldn't find libxml headers either but because I thought it was similar to the missing SLP.h I left it out.
I made the changes now to the bitbake conf file like you wrote and it compiles now without having to add the sysroot in my recipe, I have also modified my recipe to pick up libxml also.
DESCRIPTION = "libxmlpcp"
SECTION = "libs"
DEPENDS = "openslp libxml2"
LICENSE = "LGPL"
SRC_URI = "file://libxmlpcp.tar.gz"
EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -fPIC -c -I${OPIEDIR}${includedir}/libxml2' 'LDFLAGS=${LDFLAGS} -shared -lxml2 -lslp'"
do_install() {
install -d ${D}${libdir}
install -d ${D}${includedir}
oe_runmake 'INSTALLHEADERDIR=${D}${includedir}' 'INSTALLLIBDIR=${D}${libdir}' \
install
}
But when build is done I can not find the lib in the actual rootfs, looking at the date the rootfs is being regenerated.
The lib file exists in the build tree on the following places:
tmp/work/armv7a-poky-linux-gnueabi/libxmlpcp-0.1.0-r0/image/usr/lib
tmp/sysroots/armv7a-poky-linux-gnueabi/usr/lib
libxmlpcp-dbg_0.1.0-r0_armv7a.ipk and libxmlpcp-dev_0.1.0-r0_armv7a.ipk in the tmp/deploy/ipk/armv7a folder.
I only get a "strip" error, can this be the reason it isn't included in the rootfs?
ERROR: runstrip: ''arm-poky-linux-gnueabi-strip' --remove-section=.comment --remove-section=.note --strip-unneeded '/home/gerard/green-3.3/build/tmp/work/armv7a-poky-linux-gnueabi/libxmlpcp-0.1.0-r0/package/usr/lib/libxmlpcp.so'' strip command failed
Because I didn't get soup out of it I installed the laverne release also.
If I build my package with that it also gives the strip error but at the end this gives the error that the do_rootfs failed because it couldn't find the package libxmlpcp.
So I assume this is also the problem in green why my package isn't included in the rootfs only that build doesn't give the error.
I have runned my build with -DDDvv but can't figure out where it searches for my libxmlpcp package.
Regards,
Gerard
>> My recipe looks like this:
>> DESCRIPTION = "libxmlpcp"
>> SECTION = "examples"
>> DEPENDS = "openslp libxml2"
>> LICENSE = "LGPL"
>>
>> SRC_URI = "file://libxmlpcp.tar.gz"
>>
>> CFLAGS += --sysroot=/home/gerard/green-3.3/build/tmp/sysroots/armv7a-poky-linux-gnueabi/
>>
>> do_install() {
>> install -d ${D}${libdir}
>> install -d ${D}${includedir}
>> oe_runmake 'INSTALLHEADERDIR=${D}${includedir}' 'INSTALLLIBDIR=${D}${libdir}' \
>> install
>> }
> That all looks reasonable enough...
>
> Cheers,
>
> Richard
>
next prev parent reply other threads:[~2011-03-17 7:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-15 10:57 compile application header file missing Gerard van den Bosch
2011-03-15 13:38 ` Richard Purdie
2011-03-15 15:03 ` Gerard van den Bosch
2011-03-16 16:08 ` Richard Purdie
2011-03-17 7:43 ` Gerard van den Bosch [this message]
2011-03-17 7:52 ` Khem Raj
2011-03-17 8:00 ` Gerard van den Bosch
2011-03-17 8:22 ` Gerard van den Bosch
2011-03-17 13:54 ` Gerard van den Bosch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D81BBAC.9000402@de-haardt.com \
--to=gerard@de-haardt.com \
--cc=poky@yoctoproject.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.