O erro grave que você tem é da fase de pré-processador (para alguns #include <errno.h> line):
ringbuf.c:43:19: errno.h: No such file or directory
(os outros diagnósticos são apenas avisos; você deve entender cada um deles, mas você pode, provavelmente, erroneamente, optar por ignorá-los; eu recomendo melhorar o código para não receber avisos com uma versão recente de GCC invocado com -Wall -Wextra , atualmente GCC 7 em julho de 2017)
No meu sistema Debian, o <errno.h> header está em /usr/include/errno.h fornecido pelo pacote libc6-dev . Você deve instalar algo equivalente.
Como comentei, você pode ter várias versões do gcc em seu sistema (no meu Debian recente, eu posso instalar gcc-5 e gcc-6 & gcc-7 packages, e Eu também poderia compilar e construir uma versão recente em /usr/local/bin/ ).
No entanto, <errno.h> não é um cabeçalho fornecido pelo compilador, portanto, instalar outro GCC (por exemplo, fazer downgrade dele) não ajudará.