Arch: Todos os avisos são tratados como erros?

1

Estou tentando make um driver baixado, xf86-video-armsoc , no Arch Linux . No entanto, a configuração de make impede que eu compile o driver porque ele trata todos os avisos do compilador como erros. Existe alguma maneira de desabilitar isso?

Li os erros lançados e todos parecem avisos. Eles são coisas como storage of 's' isn't known , implicit declaration of function , nested extern declaration e unused variable , que soam como se pudessem ser ignorados.

    
por Mapsy 03.05.2016 / 17:42

1 resposta

3

Avisos como erros geralmente são resultado de -Werror passado em algum lugar para o compilador. Pode ser uma imposição intencional do desenvolvedor para ver quantos erros ainda existem e serem deixados apenas porque ainda estão em desenvolvimento ou aplicação intencional no software de missão crítica.

De qualquer forma, você precisa descobrir onde -Werror é. grep é uma boa ferramenta para isso: apenas recursivamente grep para palavra inteira (o traço principal não importa): grep -lr Werror . , enquanto reside no diretório de código-fonte dos drivers.

Depois, você pode remover o switch de cada arquivo com um simples sed -i 's@-Werror@@g' file .

Olhando no link , vejo um -Werror definido explícito em ERROR_CFLAGS, o desenvolvedor decidiu pegar alguns avisos não fatais também.

Infelizmente -Werror é inútil e irritante ao criar software de lançamento, porque os compiladores variam muito. Coisas simples, como declarações implícitas de função e incompatibilidade de ponteiros / tamanho de armazenamento, exigem atenção, mas é uma tarefa do desenvolvedor fazer com que o código corresponda aos padrões comuns e aceitos.

    
por 03.05.2016 / 18:37