[yocto] issue building iputils with uclibc.

Paul Eggleton paul.eggleton at linux.intel.com
Fri Mar 30 03:27:06 PDT 2012


On Thursday 29 March 2012 20:05:52 Paul Eggleton wrote:
> On Thursday 29 March 2012 14:20:44 John Toomey wrote:
> > On 20/03/2012 16:56, Khem Raj wrote:
> > > go into the uclibc build tree and like kernel or busybox it will have
> > > a .config and grok that. If this is disabled then enable it in
> > > uClibc.distro file under uclibc recipes dir and rebuild uclibc.
> > > ideally these are distro knobs but for tests you can try it
> > > file ( uclibc uses kconfig )
> > 
> > I am unable to find a .config file in the uclibc build tree, can you be
> > more specific about the path i might find it at?
> > 
> > UCLIBC_HAS_RESOLVER_SUPPORT=y doesnt seem to be present in the
> > uClibc.distro file, i added it and tried running the build again with no
> > success. Is there anything else I can try?
> 
> OK, so I just gave this build a try. You can find the configuration actually
> used in the build in TMPDIR/work/i586-poky-linux-uclibc/uclibc-0.9.32-
> r4.3/git/.config  (directory names may vary slightly depending on your
> build configuration).
> 
> With master, when I checked my version of that file,
> UCLIBC_HAS_RESOLVER_SUPPORT=y is set, so apparently this feature is getting
> enabled by default. However, when I did the same on edison (which uses
> uclibc 0.9.32 as opposed to 0.9.33) that setting is not present. Digging
> around I'm beginning to wonder if this option was perhaps added in uclibc
> 0.9.33, which if true would explain why it is not present when building
> uclibc in edison; but does that mean the underlying functionality was added
> in that version or just the option?

More detective work - the dn_comp() function was indeed not in uclibc until 
0.9.33; also, the reference to dn_comp() was added in the following commit to 
iputils:

http://www.linux-
ipv6.org/gitweb/gitweb.cgi?p=gitroot/iputils.git;a=commitdiff;h=ac3fe58bc1939c8ed3cf34c30f713dfe82b27ce5

So I guess you have a few options:

1) Avoid using iputils altogether - you can get very basic versions of the 
utilities in iputils from busybox. Looks like on the face of it nothing 
depends on iputils but it is pulled in via task-core-basic (which is pulled in 
by core-image-basic).

2) Upgrade to uclibc 0.9.33 (can be done in a separate layer on top of edison)

3) Patch iputils to remove the call to this function and any others that 
aren't in uclibc 0.9.32

4) Patch iputils to not build ping6

5) Build an older version of iputils

Cheers,
Paul


-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list