Hi! Since *alloca* will return *void**, g++ will report error(*-fpermissive, invalid conversion from void* to char**), if you do *strcpy(alloca(32), str)*, which is the definition of *strdupa* on musl. I've patched it by type casting to fix the build of bazel. Could this be merged upstream? --- a/include/string.h 2022-04-08 01:12:40.000000000 +0800 +++ b/include/string.h 2022-04-08 01:12:40.000000000 +0800 @@ -88,7 +88,7 @@ #endif #ifdef _GNU_SOURCE -#define strdupa(x) strcpy(alloca(strlen(x)+1),x) +#define strdupa(x) strcpy((char*)(alloca(strlen(x)+1)),x) int strverscmp (const char *, const char *); char *strchrnul(const char *, int); char *strcasestr(const char *, const char *); -- Best regards, xhe