Hey @dunkelstern, great project fist of all! It's exactly what I was looking for as we want to throw one of the raspi zeros into the water to hunt some cray fish ;)
I went through the code and wanted to build the firmware using the steps you provided. It fails in between multiple times. I had to patch the M4 package and then after a while it gives the following error - does this look familiar to you? I know this is a very old repo and it's totally fine you are moving on. I'm just very curious! Maybe I could also use the python framework without the underlying hardware implementation for interacting with the USB and stuff as a standalone solution?
Error during buildprocess:
/bin/bash ./libtool --tag=CC --mode=link /usr/bin/gcc -O2 -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -L/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -Wl,-rpath,/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -o simple simple.o -ldl
/bin/bash ./libtool --tag=CC --mode=link /usr/bin/gcc -O2 -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -L/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -Wl,-rpath,/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -o libmacosx.la libfakeroot_inode64.lo libfakeroot_unix2003.lo -ldl
libtool: compile: /usr/bin/gcc -DHAVE_CONFIG_H -I. -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -O2 -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -c libfakeroot.c -fPIC -DPIC -o .libs/libfakeroot.o
In file included from communicate.h:20,
from libfakeroot.c:60:
libfakeroot.c: In function ‘chown’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:811:5: note: in expansion of macro ‘INT_NEXT_STAT’
811 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c:99:40: note: each undeclared identifier is reported only once for each function it appears in
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:811:5: note: in expansion of macro ‘INT_NEXT_STAT’
811 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘lchown’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:843:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
843 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fchown’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:864:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
864 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fchownat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:890:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
890 | r=INT_NEXT_FSTATAT(dir_fd, path, &st, (flags & (AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH | AT_NO_AUTOMOUNT)));
| ^~~~~~~~~~~~~~~~
libfakeroot.c: In function ‘chmod’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:921:5: note: in expansion of macro ‘INT_NEXT_STAT’
921 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘lchmod’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:961:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
961 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fchmod’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:995:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
995 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fchmodat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:1027:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
1027 | r=INT_NEXT_FSTATAT(dir_fd, path, &st, flags & (AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH | AT_NO_AUTOMOUNT));
| ^~~~~~~~~~~~~~~~
libfakeroot.c: In function ‘__xmknod’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1074:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1074 | r=INT_NEXT_LSTAT(pathname, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘__xmknodat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:1114:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
1114 | r=INT_NEXT_FSTATAT(dir_fd, pathname, &st, 0);
| ^~~~~~~~~~~~~~~~
libfakeroot.c: In function ‘mkdir’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:1150:5: note: in expansion of macro ‘INT_NEXT_STAT’
1150 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘mkdirat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:1180:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
1180 | r=INT_NEXT_FSTATAT(dir_fd, path, &st, 0);
| ^~~~~~~~~~~~~~~~
libfakeroot.c: In function ‘unlink’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1214:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1214 | r=INT_NEXT_LSTAT(pathname, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘unlinkat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:1233:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
1233 | r=INT_NEXT_FSTATAT(dir_fd, pathname, &st, (flags&~AT_REMOVEDIR) | AT_SYMLINK_NOFOLLOW);
| ^~~~~~~~~~~~~~~~
libfakeroot.c: In function ‘rmdir’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1257:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1257 | r=INT_NEXT_LSTAT(pathname, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘remove’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1277:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1277 | r=INT_NEXT_LSTAT(pathname, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘rename’:
libtool: link: /usr/bin/gcc -O2 -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -Wl,-rpath -Wl,/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -o simple simple.o -L/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -ldl
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1307:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1307 | r=INT_NEXT_LSTAT(newpath, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘renameat’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:1331:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
1331 | r=INT_NEXT_FSTATAT(newdir_fd, newpath, &st, AT_SYMLINK_NOFOLLOW);
| ^~~~~~~~~~~~~~~~
/bin/bash ./libtool --tag=CC --mode=link /usr/bin/gcc -O2 -I/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/include -L/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -Wl,-rpath,/home/bene/Downloads/planticam/planticam/output/planticam/per-package/host-fakeroot/host/lib -o libcommunicate.la communicate.lo -ldl
libfakeroot.c: In function ‘setxattr’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:1675:5: note: in expansion of macro ‘INT_NEXT_STAT’
1675 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
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')
libfakeroot.c: In function ‘lsetxattr’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1696:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1696 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libtool: link: /usr/bin/ranlib .libs/libmacosx.a
libfakeroot.c: In function ‘fsetxattr’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:1717:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
1717 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘getxattr’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:1738:5: note: in expansion of macro ‘INT_NEXT_STAT’
1738 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘lgetxattr’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1759:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1759 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fgetxattr’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:1780:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
1780 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libtool: link: ( cd ".libs" && rm -f "libmacosx.la" && ln -s "../libmacosx.la" "libmacosx.la" )
libfakeroot.c: In function ‘listxattr’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:1801:5: note: in expansion of macro ‘INT_NEXT_STAT’
1801 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘llistxattr’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1822:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1822 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘flistxattr’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:1843:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
1843 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘removexattr’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:9:43: note: in definition of macro ‘NEXT_STAT64’
9 | #define NEXT_STAT64(a,b,c) next___xstat64(a,b,c)
| ^
libfakeroot.c:1864:5: note: in expansion of macro ‘INT_NEXT_STAT’
1864 | r=INT_NEXT_STAT(path, &st);
| ^~~~~~~~~~~~~
libfakeroot.c: In function ‘lremovexattr’:
libfakeroot.c:100:42: error: ‘_STAT_VER’ undeclared (first use in this function)
100 | #define INT_NEXT_LSTAT(a,b) NEXT_LSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:13:45: note: in definition of macro ‘NEXT_LSTAT64’
13 | #define NEXT_LSTAT64(a,b,c) next___lxstat64(a,b,c)
| ^
libfakeroot.c:1885:5: note: in expansion of macro ‘INT_NEXT_LSTAT’
1885 | r=INT_NEXT_LSTAT(path, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fremovexattr’:
libfakeroot.c:101:42: error: ‘_STAT_VER’ undeclared (first use in this function)
101 | #define INT_NEXT_FSTAT(a,b) NEXT_FSTAT64(_STAT_VER,a,b)
| ^~~~~~~~~
fakerootconfig.h:11:45: note: in definition of macro ‘NEXT_FSTAT64’
11 | #define NEXT_FSTAT64(a,b,c) next___fxstat64(a,b,c)
| ^
libfakeroot.c:1906:5: note: in expansion of macro ‘INT_NEXT_FSTAT’
1906 | r=INT_NEXT_FSTAT(fd, &st);
| ^~~~~~~~~~~~~~
libfakeroot.c: In function ‘fts_read’:
libfakeroot.c:2012:22: warning: passing argument 1 of ‘send_get_stat64’ from incompatible pointer type [-Wincompatible-pointer-types]
2012 | SEND_GET_STAT64(r->fts_statp, _STAT_VER);
| ~^~~~~~~~~~~
| |
| struct stat *
libfakeroot.c:89:46: note: in definition of macro ‘SEND_GET_STAT64’
89 | #define SEND_GET_STAT64(a,b) send_get_stat64(a)
| ^
In file included from libfakeroot.c:60:
communicate.h:209:44: note: expected ‘struct stat64 *’ but argument is of type ‘struct stat *’
209 | extern void send_get_stat64(struct stat64 *buf);
| ~~~~~~~~~~~~~~~^~~
libfakeroot.c: In function ‘fts_children’:
libfakeroot.c:2035:24: warning: passing argument 1 of ‘send_get_stat64’ from incompatible pointer type [-Wincompatible-pointer-types]
2035 | SEND_GET_STAT64(r->fts_statp, _STAT_VER);
| ~^~~~~~~~~~~
| |
| struct stat *
libfakeroot.c:89:46: note: in definition of macro ‘SEND_GET_STAT64’
89 | #define SEND_GET_STAT64(a,b) send_get_stat64(a)
| ^
In file included from libfakeroot.c:60:
communicate.h:209:44: note: expected ‘struct stat64 *’ but argument is of type ‘struct stat *’
209 | extern void send_get_stat64(struct stat64 *buf);
| ~~~~~~~~~~~~~~~^~~
In file included from communicate.h:20,
from libfakeroot.c:60:
libfakeroot.c: In function ‘statx’:
libfakeroot.c:102:50: error: ‘_STAT_VER’ undeclared (first use in this function)
102 | #define INT_NEXT_FSTATAT(a,b,c,d) NEXT_FSTATAT64(_STAT_VER,a,b,c,d)
| ^~~~~~~~~
fakerootconfig.h:15:53: note: in definition of macro ‘NEXT_FSTATAT64’
15 | #define NEXT_FSTATAT64(a,b,c,d,e) next___fxstatat64(a,b,c,d,e)
| ^
libfakeroot.c:2473:5: note: in expansion of macro ‘INT_NEXT_FSTATAT’
2473 | r=INT_NEXT_FSTATAT(dirfd, path, &st, flags);
| ^~~~~~~~~~~~~~~~
make[4]: *** [Makefile:659: libfakeroot.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
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]: *** [Makefile:677: all-recursive] Error 1
make[2]: *** [Makefile:452: all] Error 2
make[1]: *** [package/pkg-generic.mk:250: /home/bene/Downloads/planticam/planticam/output/planticam/build/host-fakeroot-1.25.3/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2
make: Leaving directory '/home/bene/Downloads/planticam/planticam/output/planticam'
This suggest that upgrading fakeroot may help - but I'm not enough of a linux programmer to understand what that really means ;-)
https://bugs.archlinux.org/task/69572
Hey @dunkelstern, great project fist of all! It's exactly what I was looking for as we want to throw one of the raspi zeros into the water to hunt some cray fish ;) I went through the code and wanted to build the firmware using the steps you provided. It fails in between multiple times. I had to patch the
M4
package and then after a while it gives the following error - does this look familiar to you? I know this is a very old repo and it's totally fine you are moving on. I'm just very curious! Maybe I could also use the python framework without the underlying hardware implementation for interacting with the USB and stuff as a standalone solution?Error during buildprocess: