[Toybox] Fwd: build help please with toybox

Rob Landley rob at landley.net
Sat Nov 23 08:43:22 PST 2019


On 11/22/19 4:56 PM, scsijon wrote:
> thanks for the help
> 
> On 23/11/19 09:18, Denys Nykula wrote:
>>> scripts/kconfig/lex.zconf.c:890:16: error: ‘EINTR’ undeclared (first use
>>> in this function)

It's a symlink to the _shipped version of the same filename, which has an
#include <errno.h> on line 21. So it should be finding that constant.

>> What's your host libc and where are its headers? In apt that's libc6-dev.
>>
> and i'm in a Quirky named Xenial Xerus (Ubuntu 16.04 LTS).

EINTR is #defined in asm-generic/errno-base.h ?

Let's see, on debian: /usr/include/errno.h #includes bits/errno.h which
#includes linux/errno.h which #includes asm/errno.h which includes
asm-generic/errno.h which #includes asm-generic/errno-base.h

(Meanwhile, musl just #defines all the constants in bits/errno.h because it's
not crazy.)

> libc and libc6 both v2.23 at /lib/x86_64-gnu-linux and
> /usr/include/x86_64-gnu-linux;
> linux headers and kernel are v4.4.44 if of interest;
> ?maybe to old?

No, these constants were there in Linux 1.0. The errno-base part is posix:

https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/basedefs/errno.h.html

I don't think this is anything weird about this file (which was last modified in
2006 according to git log, and has built with musl, bionic, uClibc, and the
libcs of macosx and netbsd). It sounds like your toolchain isn't finding its
headers?

(It can't be rebuilding the file from lex, I didn't even put that part of the
plumbing into the makefile. It's _just_ doing the symlink part:

%.c: %.c_shipped
        @ln -s $(notdir $<) $@

Rob



More information about the Toybox mailing list