Falha de segmentação não é erro de sintaxe. É de execução, mas parece mais ser erro de execução do gcc (ou de alguma coisa que o gcc chama) do que do seu programa.
Realmente muito estranho. Não vejo outra solução a não ser reinstalar todos os pacotes dos quais o build-essential depende.
Procura pelo build-essential no synaptic, clica com o botão direito nele e vai em propriedades>dependências
Desinstala o que aparece la e depois reinstala o build-essential novamente.