musl only provides POSIX version of basename and it has also removed providing it via string.h header [1] which now results in compile errors with newer compilers e.g. clang-18 [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 Please also reffer: https://bugs.gentoo.org/937495 Signed-off-by: Brahmajit Das <brahmajit.xyz@xxxxxxxxx> --- common/main.c | 3 +++ invutil/invidx.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/common/main.c b/common/main.c index 6141ffb..107d335 100644 --- a/common/main.c +++ b/common/main.c @@ -77,6 +77,9 @@ #define MINSTACKSZ 0x02000000 #define MAXSTACKSZ 0x08000000 +#if !defined(__GLIBC__) +#define basename(src) (strrchr(src, '/') ? strrchr(src, '/') + 1 : src) +#endif /* declarations of externally defined global symbols *************************/ diff --git a/invutil/invidx.c b/invutil/invidx.c index 5874e8d..942f16f 100644 --- a/invutil/invidx.c +++ b/invutil/invidx.c @@ -41,6 +41,10 @@ #include "stobj.h" #include "timeutil.h" +#if !defined(__GLIBC__) +#define basename(src) (strrchr(src, '/') ? strrchr(src, '/') + 1 : src) +#endif + invidx_fileinfo_t *invidx_file; int invidx_numfiles; -- 2.46.0