[yocto] Problem compiling diffutils on poky-tiny in danny
Darren Hart
dvhart at linux.intel.com
Wed Nov 14 10:50:25 PST 2012
On 11/14/2012 10:43 AM, Tim Bird wrote:
> On 11/14/2012 08:48 AM, Darren Hart wrote:
>>
>>
>> On 11/13/2012 05:11 PM, Tim Bird wrote:
>>> Hi all,
>>>
>>> I'm using DISTRO=poky-tiny and trying to build:
>>> $ bitbake core-image-minimal-initramfs
>>>
>>> I get the following error trying to compile diffutils:
>>>
>>> ...
>>> i586-poky-linux-gcc -m32 -march=i586 --sysroot=/a/home/tbird/work/yocto/danny-test1/tmp/sysroots/qemux86 -std=gnu99 -I. -O2 -pipe -g -feliminate-unused-debug-types -c -o wcwidth.o wcwidth.c
>>> In file included from wcwidth.c:23:0:
>>> ./wctype.h:448:1: error: static declaration of 'iswalnum' follows non-static declaration
>>> ./wctype.h:460:1: error: static declaration of 'iswalpha' follows non-static declaration
>>> ...
>>
>>
>> Is there an option to build diffutils without wide character support?
>> This is something tiny does away with and frequent point of failure
>> when trying to build additional packages with it.
>
> I'll see if I can find something.
>
>>
>>> See the attached compile log for details.
>>>
>>> Has anyone done this recently? Is this one of the supported images for
>>> this distro (poky-tiny)?
>>
>>
>> I don't build that target as I use the cpio.gz from core-image-minimal
>> as an initial ramdisk. Is there a particular reason you want to build
>> "core-image-minimal-initramfs" specifically?
>
> Building poky-tiny with core-image-minimal worked fine. I didn't understand
> that this built multiple images (including a cpio.gz), and thought that
> the default method of building a cpio.gz was to build the <image-name>-initramfs
> image. So, no, I don't have a particular reason to do this.
>
> Also, I'm not sure I am doing the startup initialization with runqemu
> correctly. I wouldn't have expected any rootfs to be used for this image,
> but the default invocation of runqemu uses one. An example shows use of
> a 'ramfs' parameter. I think I need to dig into runqemu and verify
> args are appropriate for an initramfs.
>
runqemu doesn't quite know what to make of poky-tiny :-) Try the following:
$ qemu-system-i386 -kernel path/to/kernel -initrd path/to/image.cpio.gz
-nographic -append "console=ttyS0 root=/dev/ram0"
I really need to get the poky-tiny docs going... right after I finish
these kernel docs I guess... anyone want to volunteer?
>>
>>>
>>> Has anyone seen this type of error before, or can provide some
>>> hints of what to check or adjust to fix this?
>>
>> Yup, it's wide characters being required by diffutils and being excluded
>> by the poky-tiny DISTRO_FEATURES_LIBC assignment. If supported by
>> diffutils, we might be able to test ENABLE_WIDEC in diffutils and
>> configure accordingly (see the ncurses recipes for an example).
>
> I'll poke around. I'm curious why poky-tiny core-image-minimal built
> OK, but core-image-minimal-initramfs didn't. I didn't expect
> any difference in target-side binaries between the two - only some
> changes in the image build steps.
>
> Thanks for the tips. I'll check it out.
Let me know what you find out. I thought the initramfs had the installer
in it, but maybe that's included by some other mechanism.
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel
More information about the yocto
mailing list