bobcat expects the GNU variant of strerror_r, while musl only provides the XSI variant with incompatible return type, leading to a compilation error. As musl strerror() is re-entrant anyway, just use that instead. --- a/exception/errnodescr.cc +++ b/exception/errnodescr.cc @@ -7,16 +7,7 @@ { if (errno != 0) { - char *buffer = new char[Exception::STRERROR_BUFSIZE]; - - if (char *cp = strerror_r(errno, buffer, Exception::STRERROR_BUFSIZE)) - out << cp; - else - { - out << "internal error: strerror_r failed with errno = " << errno; - } - - delete[] buffer; + out << strerror(errno); } return out;