Bug 8541

Summary: fail to build host-fakeroot-1.20.2
Product: buildroot Reporter: aborniak <aborniak>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: aborniak, buildroot, yann.morin.1998
Priority: P5    
Version: 2015.11   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:
Attachments: build output

Description aborniak 2015-12-18 16:03:58 UTC
```
make[3]: Entering directory '/root/buildroot/output/build/host-fakeroot-1.20.2'
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I.   -I/root/buildroot/output/host/usr/include  -O2 -I/root/buildroot/output/host/usr/include -c -o libfakeroot.lo libfakeroot.c
libtool: compile:  /usr/bin/gcc -DHAVE_CONFIG_H -I. -I/root/buildroot/output/host/usr/include -O2 -I/root/buildroot/output/host/usr/include -c libfakeroot.c  -fPIC -DPIC -o .libs/libfakeroot.o
libfakeroot.c:1646:9: error: conflicting types for 'setxattr'
 ssize_t setxattr(const char *path, const char *name, void *value, size_t size, int flags)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:41:12: note: previous declaration of 'setxattr' was here
 extern int setxattr (const char *__path, const char *__name,
            ^
libfakeroot.c:1667:9: error: conflicting types for 'lsetxattr'
 ssize_t lsetxattr(const char *path, const char *name, void *value, size_t size, int flags)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:48:12: note: previous declaration of 'lsetxattr' was here
 extern int lsetxattr (const char *__path, const char *__name,
            ^
libfakeroot.c:1688:9: error: conflicting types for 'fsetxattr'
 ssize_t fsetxattr(int fd, const char *name, void *value, size_t size, int flags)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:54:12: note: previous declaration of 'fsetxattr' was here
 extern int fsetxattr (int __fd, const char *__name, const void *__value,
            ^
libfakeroot.c:1835:9: error: conflicting types for 'removexattr'
 ssize_t removexattr(const char *path, const char *name)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:92:12: note: previous declaration of 'removexattr' was here
 extern int removexattr (const char *__path, const char *__name) __THROW;
            ^
libfakeroot.c:1856:9: error: conflicting types for 'lremovexattr'
 ssize_t lremovexattr(const char *path, const char *name)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:97:12: note: previous declaration of 'lremovexattr' was here
 extern int lremovexattr (const char *__path, const char *__name) __THROW;
            ^
libfakeroot.c:1877:9: error: conflicting types for 'fremovexattr'
 ssize_t fremovexattr(int fd, const char *name)
         ^
In file included from /usr/include/sys/capability.h:30:0,
                 from libfakeroot.c:131:
/usr/include/x86_64-linux-gnu/sys/xattr.h:101:12: note: previous declaration of 'fremovexattr' was here
 extern int fremovexattr (int __fd, const char *__name) __THROW;
            ^
libfakeroot.c: In function 'fts_read':
libfakeroot.c:1953:21: warning: passing argument 1 of 'send_get_stat64' from incompatible pointer type
     SEND_GET_STAT64(r->fts_statp, _STAT_VER);
                     ^
libfakeroot.c:89:46: note: in definition of macro 'SEND_GET_STAT64'
 #define SEND_GET_STAT64(a,b) send_get_stat64(a)
                                              ^
In file included from libfakeroot.c:60:0:
communicate.h:209:13: note: expected 'struct stat64 *' but argument is of type 'struct stat *'
 extern void send_get_stat64(struct stat64 *buf);
             ^
libfakeroot.c: In function 'fts_children':
libfakeroot.c:1976:23: warning: passing argument 1 of 'send_get_stat64' from incompatible pointer type
       SEND_GET_STAT64(r->fts_statp, _STAT_VER);
                       ^
libfakeroot.c:89:46: note: in definition of macro 'SEND_GET_STAT64'
 #define SEND_GET_STAT64(a,b) send_get_stat64(a)
                                              ^
In file included from libfakeroot.c:60:0:
communicate.h:209:13: note: expected 'struct stat64 *' but argument is of type 'struct stat *'
 extern void send_get_stat64(struct stat64 *buf);
             ^
Makefile:642: recipe for target 'libfakeroot.lo' failed
make[3]: *** [libfakeroot.lo] Error 1
make[3]: Leaving directory '/root/buildroot/output/build/host-fakeroot-1.20.2'
Makefile:660: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/root/buildroot/output/build/host-fakeroot-1.20.2'
Makefile:434: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/root/buildroot/output/build/host-fakeroot-1.20.2'
package/pkg-generic.mk:195: recipe for target '/root/buildroot/output/build/host-fakeroot-1.20.2/.stamp_built' failed
make: *** [/root/buildroot/output/build/host-fakeroot-1.20.2/.stamp_built] Error 2
root@FrontendKernel:~/buildroot# 

```

Similar as a bug  http://www.eenyhelp.com/bug-758406-fakeroot-ftbfs-libfakeroot-c-1646-9-error-conflicting-types-etxattr-help-215394680.html. But it was older version. 

```
root@FrontendKernel:~/buildroot# apt-cache show  libcap-dev
Package: libcap-dev
Priority: optional
Section: libdevel
Installed-Size: 101
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Christian Kastner <debian@kvr.at>
Architecture: amd64
Source: libcap2
Version: 1:2.24-6
Provides: libcap2-dev
Depends: libcap2 (= 1:2.24-6)
```

```
root@FrontendKernel:~/buildroot# uname -a 
Linux FrontendKernel 3.19.0-41-generic #46-Ubuntu SMP Fri Dec 4 18:18:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


root@FrontendKernel:~/buildroot# cat /etc/os-release 
NAME="Ubuntu"
VERSION="15.04 (Vivid Vervet)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.04"
VERSION_ID="15.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
root@FrontendKernel:~/buildroot# 

```
Comment 1 Thomas Petazzoni 2015-12-18 16:09:56 UTC
If it tries to build fakeroot 1.20.2, then surely you're not using Buildroot 2015.11, but the master branch, right ?

And if that's the case, can you update your master branch, to make sure you also have commit https://git.busybox.net/buildroot/commit/package/fakeroot?id=c994c3db1f7d76b5dfe79e3b1133d66fdd06212c ?

Also, you should not use Buildroot using the root user on your machine.
Comment 2 Vicente Olivert Riera 2015-12-18 16:49:31 UTC
It can be also related to this:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758406

In that case it can be fixed updating your Debian distro, specially the libc6-dev and linux-libc-dev packages, or by adding this patch to the fakeroot package in Buildroot:

https://sources.debian.net/patches/patch/fakeroot/1.20.2-1/glibc-xattr-types/
Comment 3 aborniak 2015-12-18 17:19:00 UTC
I can't patch fakeroot package  due to error. 

```
root@FrontendKernel:~/buildroot# find ./ -name "libfakeroot.c"
./output/build/host-fakeroot-1.20.2/libfakeroot.c
root@FrontendKernel:~/buildroot# patch ./output/build/host-fakeroot-1.20.2/libfakeroot.c /tmp/glibc-xattr-types
patching file ./output/build/host-fakeroot-1.20.2/libfakeroot.c
patching file ./output/build/host-fakeroot-1.20.2/libfakeroot.c
Hunk #1 FAILED at 168.
1 out of 1 hunk FAILED -- saving rejects to file ./output/build/host-fakeroot-1.20.2/libfakeroot.c.rej
root@FrontendKernel:~/buildroot# 
```

Also I am on the master branch. 

```
root@FrontendKernel:~/buildroot# git branch 
* master
root@FrontendKernel:~/buildroot# git pull
Already up-to-date.
root@FrontendKernel:~/buildroot# 

```

My system is ubuntu 

```
root@FrontendKernel:~/buildroot# uname -a 
Linux FrontendKernel 3.19.0-41-generic #46-Ubuntu SMP Fri Dec 4 18:18:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


root@FrontendKernel:~/buildroot# cat /etc/os-release 
NAME="Ubuntu"
VERSION="15.04 (Vivid Vervet)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.04"
VERSION_ID="15.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
root@FrontendKernel:~/buildroot# 

```
Comment 4 Luca Ceresoli 2016-01-04 12:04:44 UTC
I confirm the bug on current master. It triggers only if libcap-dev in installed on the build host.

Patch sent: http://patchwork.ozlabs.org/patch/562348/
Comment 5 Ricardo Martincoski 2016-01-04 18:43:21 UTC
(In reply to Vicente Olivert Riera from comment #2)
I propose a different approach: disable the detection of sys/capability.h provided by libcap-dev.
https://patchwork.ozlabs.org/patch/562657/
Comment 6 Peter Korsgaard 2016-01-04 21:41:57 UTC
Fixed in git by:

commit 6fc5de4ef466b649b37a86e4f4994a667149dd80
Author: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Date:   Mon Jan 4 16:33:56 2016 -0200

    fakeroot: fix build when libcap-dev is installed
    
    Fixes https://bugs.busybox.net/show_bug.cgi?id=8541
    
    Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
    Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
    Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
    Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Comment 7 5p0ng3b0b 2020-04-03 14:55:04 UTC
Created attachment 8431 [details]
build output

Fakeroot not building for me on 2020-02 build

make host-fakeroot does not finish building.

In file included from communicate.h:20,
                 from libfakeroot.c:60:
libfakeroot.c: In function 'chown':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:810:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c:107:38: note: each undeclared identifier is reported only once for each function it appears in
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:810:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'lchown':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:842:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fchown':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:863:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fchownat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:889:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(dir_fd, path, &st, (flags & AT_SYMLINK_NOFOLLOW));
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function 'chmod':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:920:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'lchmod':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:960:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fchmod':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:994:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fchmodat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:1026:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(dir_fd, path, &st, flags & AT_SYMLINK_NOFOLLOW);
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function '__xmknod':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1073:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(pathname, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function '__xmknodat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:1113:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(dir_fd, pathname, &st, 0);
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function 'mkdir':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:1149:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'mkdirat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:1179:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(dir_fd, path, &st, 0);
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function 'unlink':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1213:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(pathname, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'unlinkat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:1232:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(dir_fd, pathname, &st, (flags&~AT_REMOVEDIR) | AT_SYMLINK_NOFOLLOW);
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function 'rmdir':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1256:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(pathname, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'remove':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1276:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(pathname, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'rename':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1306:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(newpath, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'renameat':
libfakeroot.c:110:48: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT(_STAT_VER,a,b,c,d)
                                                ^~~~~~~~~
fakerootconfig.h:7:49: note: in definition of macro 'NEXT_FSTATAT'
 #define NEXT_FSTATAT(a,b,c,d,e) next___fxstatat(a,b,c,d,e)
                                                 ^
libfakeroot.c:1330:5: note: in expansion of macro 'INT_NEXT_FSTATAT'
   r=INT_NEXT_FSTATAT(newdir_fd, newpath, &st, AT_SYMLINK_NOFOLLOW);
     ^~~~~~~~~~~~~~~~
libfakeroot.c: In function 'common_setxattr':
libfakeroot.c:112:33: warning: implicit declaration of function 'SEND_GET_XATTR'; did you mean 'SEND_GET_XATTR64'? [-Wimplicit-function-declaration]
 #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
                                 ^~~~~~~~~~~~~~
libfakeroot.c:1587:3: note: in expansion of macro 'INT_SEND_GET_XATTR'
   INT_SEND_GET_XATTR(st, &xattr);
   ^~~~~~~~~~~~~~~~~~
libfakeroot.c:112:52: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
                                                    ^~~~~~~~~
libfakeroot.c:1587:3: note: in expansion of macro 'INT_SEND_GET_XATTR'
   INT_SEND_GET_XATTR(st, &xattr);
   ^~~~~~~~~~~~~~~~~~
libfakeroot.c: In function 'common_getxattr':
libfakeroot.c:112:52: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
                                                    ^~~~~~~~~
libfakeroot.c:1605:3: note: in expansion of macro 'INT_SEND_GET_XATTR'
   INT_SEND_GET_XATTR(st, &xattr);
   ^~~~~~~~~~~~~~~~~~
libfakeroot.c: In function 'common_listxattr':
libfakeroot.c:112:52: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
                                                    ^~~~~~~~~
libfakeroot.c:1623:3: note: in expansion of macro 'INT_SEND_GET_XATTR'
   INT_SEND_GET_XATTR(st, &xattr);
   ^~~~~~~~~~~~~~~~~~
libfakeroot.c: In function 'common_removexattr':
libfakeroot.c:112:52: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
                                                    ^~~~~~~~~
libfakeroot.c:1641:3: note: in expansion of macro 'INT_SEND_GET_XATTR'
   INT_SEND_GET_XATTR(st, &xattr);
   ^~~~~~~~~~~~~~~~~~
In file included from communicate.h:20,
                 from libfakeroot.c:60:
libfakeroot.c: In function 'setxattr':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:1664:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'lsetxattr':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1685:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fsetxattr':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:1706:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'getxattr':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:1727:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'lgetxattr':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1748:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fgetxattr':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:1769:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'listxattr':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:1790:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'llistxattr':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1811:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'flistxattr':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:1832:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'removexattr':
libfakeroot.c:107:38: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_STAT(a,b) NEXT_STAT(_STAT_VER,a,b)
                                      ^~~~~~~~~
fakerootconfig.h:1:39: note: in definition of macro 'NEXT_STAT'
 #define NEXT_STAT(a,b,c) next___xstat(a,b,c)
                                       ^
libfakeroot.c:1853:5: note: in expansion of macro 'INT_NEXT_STAT'
   r=INT_NEXT_STAT(path, &st);
     ^~~~~~~~~~~~~
libfakeroot.c: In function 'lremovexattr':
libfakeroot.c:108:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:5:41: note: in definition of macro 'NEXT_LSTAT'
 #define NEXT_LSTAT(a,b,c) next___lxstat(a,b,c)
                                         ^
libfakeroot.c:1874:5: note: in expansion of macro 'INT_NEXT_LSTAT'
   r=INT_NEXT_LSTAT(path, &st);
     ^~~~~~~~~~~~~~
libfakeroot.c: In function 'fremovexattr':
libfakeroot.c:109:40: error: '_STAT_VER' undeclared (first use in this function); did you mean 'FSTAT_ARG'?
 #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT(_STAT_VER,a,b)
                                        ^~~~~~~~~
fakerootconfig.h:3:41: note: in definition of macro 'NEXT_FSTAT'
 #define NEXT_FSTAT(a,b,c) next___fxstat(a,b,c)
                                         ^
libfakeroot.c:1895:5: note: in expansion of macro 'INT_NEXT_FSTAT'
   r=INT_NEXT_FSTAT(fd, &st);
     ^~~~~~~~~~~~~~
/bin/bash ./libtool  --tag=CC   --mode=link /usr/bin/gcc  -O2 -I/home/chief/buildroot-2020.02/output/host/include  -L/home/chief/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/chief/buildroot-2020.02/output/host/lib -o libcommunicate.la  communicate.lo  -lpthread -ldl
make[3]: *** [Makefile:652: libfakeroot.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: link: /usr/bin/gcc -O2 -I/home/chief/buildroot-2020.02/output/host/include -Wl,-rpath -Wl,/home/chief/buildroot-2020.02/output/host/lib -o simple simple.o  -L/home/chief/buildroot-2020.02/output/host/lib -lpthread -ldl
libtool: link: /usr/bin/ar cru .libs/libmacosx.a .libs/libfakeroot_inode64.o .libs/libfakeroot_unix2003.o
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: /usr/bin/ranlib .libs/libmacosx.a
libtool: link: ( cd ".libs" && rm -f "libmacosx.la" && ln -s "../libmacosx.la" "libmacosx.la" )
libtool: link: /usr/bin/ar cru .libs/libcommunicate.a .libs/communicate.o
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: /usr/bin/ranlib .libs/libcommunicate.a
libtool: link: ( cd ".libs" && rm -f "libcommunicate.la" && ln -s "../libcommunicate.la" "libcommunicate.la" )
make[3]: Leaving directory '/home/chief/buildroot-2020.02/output/build/host-fakeroot-1.20.2'
make[2]: *** [Makefile:670: all-recursive] Error 1
make[2]: Leaving directory '/home/chief/buildroot-2020.02/output/build/host-fakeroot-1.20.2'
make[1]: *** [Makefile:445: all] Error 2
make[1]: Leaving directory '/home/chief/buildroot-2020.02/output/build/host-fakeroot-1.20.2'
make: *** [package/pkg-generic.mk:269: /home/chief/buildroot-2020.02/output/build/host-fakeroot-1.20.2/.stamp_built] Error 2
Comment 8 Yann E. MORIN 2020-04-05 08:02:55 UTC
5p0ng3b0b

Please open a new issue, rather than hijack this old one, which has already been resolved and fixed.

Also, provide a bit more context about your failure: what distribution are building on, etc...

Regards,
Yann E. MORIN.