Re: [dev] [ubase] compile using musl

2024-03-15 Thread Mattias Andrée
On Fri, 15 Mar 2024 16:22:19 -0300
Brian Mayer  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



[dev] [ubase] compile using musl

2024-03-15 Thread Brian Mayer
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