[poky] compile application header file missing

Gerard van den Bosch gerard at de-haardt.com
Thu Mar 17 01:22:14 PDT 2011


On 03/17/2011 09:00 AM, Gerard van den Bosch wrote:
> On 03/17/2011 08:52 AM, Khem Raj wrote:
>>> 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
>> It could very well be. Can you run file or readelf -e over libxmlpcp.so
>> and see if it is for ARM architecture ?
>>
>> -Khem
>
> This gives me the following ELF header:
> ELF Header:
>   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, little endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              DYN (Shared object file)
>   Machine:                           Intel 80386
>   Version:                           0x1
>   Entry point address:               0x12f0
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          29436 (bytes into file)
>   Flags:                             0x0
>   Size of this header:               52 (bytes)
>   Size of program headers:           32 (bytes)
>   Number of program headers:         6
>   Size of section headers:           40 (bytes)
>   Number of section headers:         37
>   Section header string table index: 34
>
> If I process the 'file' command it gives me:
> libxmlpcp.so: ELF 32-bit LSB shared object, Intel 80386, version 1 
> (SYSV), dynamically linked, not stripped
>
> Ok thus there is the problem, it isn't ARM architecture.
>
> Regards,
> Gerard
>
>
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
Added CC=${CC} to the EXTRA_OEMAKE parameter and it now builds it as ARM lib.
The strip error is gone but file isn't stripped:libxmlpcp.so:
ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped

However strangely still missing it in the rootfs, but I will continue my search.






More information about the poky mailing list