On 2024-08-29 9:47 a.m., Ramiro Polla wrote:
Hi,
On Mon, Aug 12, 2024 at 7:16 AM Lance Fredrickson
<lancethepa...@gmail.com> wrote:
In commit 9e674b31606c805dd31b4bb754364a72a5877238 of ffmpeg this change
tries to detect musl libc by way of a "__musl__" macro. This macro
however, doesn't exist in musl. This results in an "incompatible pointer
type" error under gcc-14.2 as detection falls through to the #else
definition. This was in version 6.1.2 and looks like it is still present
in master. I can't say what the correct fix would be, I just manually
patched for now.
musl tries to make itself undetectable. Instead of relying on system
#ifdefs which may or may not be correct, we should instead check for
the proper signature at configure time.
I sent a patch for this (look for the thread "[PATCH] configure:
improve check for POSIX ioctl").
I tested it with musl, glibc, and the android ndk. Brad, could you
test that this works as expected on BSD?
Here is the config output.. test_code cc sys/ioctl.h int ioctl(int, int,
...); test_cc BEGIN /tmp/ffconf.of6GnZkt/test.c 1 #include <sys/ioctl.h>
2 int main(void) { int ioctl(int, int, ...);; return 0; } END
/tmp/ffconf.of6GnZkt/test.c cc -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -DPIC -std=c17 -fomit-frame-pointer -fPIC
-I/usr/X11R6/include -I/usr/X11R6/include -I/usr/X11R6/include -pthread
-I/usr/X11R6/include -I/usr/X11R6/include/libdrm -c -o
/tmp/ffconf.of6GnZkt/test.o /tmp/ffc onf.of6GnZkt/test.c
/tmp/ffconf.of6GnZkt/test.c:2:22: error: conflicting types for 'ioctl'
int main(void) { int ioctl(int, int, ...);; return 0; } ^
/usr/include/sys/ioctl.h:52:5: note: previous declaration is here int
ioctl(int, unsigned long, ...); ^ 1 error generated.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".