On Fri, 15 Mar 2024 16:22:19 -0300 Brian Mayer <bleema...@gmail.com> wrote:
> Hi, I'm Brian, I'm trying to compile ubase using musl as libc on > buildroot. I use a Pinebook Pro, so aarch64 is my arch. > > By just running make I get this error: > > /home/blmayer/git/distro/buildroot/output/host/bin/aarch64-buildroot-linux-musl-gcc > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 > -g0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > -o df.o -c df.c > dd.c: In function 'copy_splice': > dd.c:179:21: warning: implicit declaration of function 'splice' > [-Wimplicit-function-declaration] > 179 | r = splice(ifd, NULL, p[1], NULL, n, SPLICE_F_MORE); > | ^~~~~~ > /home/blmayer/git/distro/buildroot/output/host/bin/aarch64-buildroot-linux-musl-gcc > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 > -g0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > -o dmesg.o -c dmesg.c > dd.c:179:54: error: 'SPLICE_F_MORE' undeclared (first use in this function) > 179 | r = splice(ifd, NULL, p[1], NULL, n, SPLICE_F_MORE); > | ^~~~~~~~~~~~~ > dd.c:179:54: note: each undeclared identifier is reported only once > for each function it appears in > /home/blmayer/git/distro/buildroot/output/host/bin/aarch64-buildroot-linux-musl-gcc > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 > -g0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > -o eject.o -c eject.c > make[1]: *** [Makefile:164: dd.o] Error 1 > > My guess is that glibc provides that function by musl doesn't. So as > my system is using musl that function is not found. Can I get some > help? > > Thanks, > Brian > Add -D_GNU_SOURCE