In musl libc stdout and stderr are macros, thus we need to undefine them to be able to use SystemCmd::stdout() and ::stderr() members without renaming them - which may be a better choice. --- a/snapper/SystemCmd.h 2015-08-30 10:59:53.740184303 +0200 +++ b/snapper/SystemCmd.h 2015-08-30 11:02:34.229187677 +0200 @@ -31,6 +31,8 @@ #include #include +#undef stdout +#undef stderr namespace snapper {