[Buildroot] RPC.h and busybox

Yann E. MORIN yann.morin.1998 at free.fr
Wed Oct 31 12:13:45 UTC 2012


Alexander, All,

On Wednesday 31 October 2012 12:56:26 Alexander Khryukin wrote:
> В Ср., 31/10/2012 в 13:41 +0200, Baruch Siach пишет:
> > Hi Alexander,
> > 
> > On Wed, Oct 31, 2012 at 02:32:08PM +0300, Alexander Khryukin wrote:
> > > I'm trying to build busybox with glibc
> > > and faced with error
> > > 
> > > util-linux/mount.c:140:22: fatal error: rpc/rpc.h: No such file or directory
> > 
> > glibc version newer than 2.13 omits built time support for RPC. See 
> > http://sourceware.org/ml/crossgcc/2011-09/msg00005.html.
> > 
> > > Does anybody have any solution?
> > 
> > This is a toolchain level problem. Either downgrade to a toolchain with 2.13 
> > glibc, or use a toolchain with tirpc.
> > 
> > baruch

> Hi, thanks for answer.
> I compiled toolchain via crosstool-ng
> 
> 
> [me at kvm-host crosstool-ng-linaro]$ find . -name rpc.h
> ./.build/src/gcc-linaro-4.7-2012.09/fixincludes/tests/base/rpc/rpc.h
> ./.build/src/glibc-2.14.1/sunrpc/rpc/rpc.h
> ./.build/src/glibc-2.14.1/include/rpc/rpc.h
> 
> Seems to be rpc.h headers exist in glibc dir
> but buildroot not understand it.

As Baruch said, it's because glibc-2.14 (and above) do *not* *install* the
rpc headers. What you point at is the *source* tree of glibc (and gcc, but
that's irrelevant). When you *run* the toolchain, those are *not* the
locations searched for; the headers are looked for in the *sysroot* of the
toolchain, which you can find as a second-level sub-directory in the prefix
you installed the toolchain in.

So, Baruch is right: either downgrade your toolchain to use glibc-2.13,
or try to use TIRPC. As TIRPC is not yet, AFAIK, at par with glibc's
implementation, the only sane option so far *is* to downgrade your glibc.

You can of course also search the archives of the buildroot mailing list,
there are a lot of such reports, and each time the same explanations were
re-hashed again and again.

Also, search the Internet (eg. with google and these keywords: glibc rpc
not available, there are literally *tons* of answers; also, search on
LWN.net, they've had quite a few very good articles on the sunject).

And no, switching to using eglibc instead will not fix it. Neither will
updating to a newer version (although I think glibc-2.16 did restore this,
but it's not available from ct-ng, by lack of interest it seems, as nobody
did feel necessary to post any patch to add latest glibc in ct-ng).

;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'



More information about the buildroot mailing list