Onde os switches do compilador são usados para o gcc documentado? [duplicado]

1

É necessário compilar algumas bibliotecas add'l no Ubuntu com os mesmos switches que o gcc.

P: Como eu posso determinar no Ubuntu o que os siwtches foram usados com a libc?

Uma sugestão anterior era usar o "apt-src", mas nada nas páginas man do apt-src parece mostrar quais switches foram usados com um pacote binário. "apt show" tem algumas informações, mas não as opções atuais do compilador.

Isso é importante porque eu estou tentando compilar outros pacotes que precisam de interruptores de biblioteca consistentes entre bibliotecas mutiple.

    
por Steven Lembark 13.04.2018 / 15:49

1 resposta

1

Isso vai dar um pouco de trabalho, mas é factível. O Ubuntu tem uma política muito específica sobre flags do compilador que é resumida em esta entrada na wiki . Em resumo, o conjunto de sinalizadores do compilador de tempo de execução padrão é CFLAGS="-O2 -g" . No entanto, os construtores de pacotes precisam alterar o sinalizador padrão definido para qualquer número de motivos detalhados (por exemplo, soluções alternativas para o problema do compilador). Então, para ter certeza, você precisará baixar a fonte para o pacote de interesse, libc neste caso, e procurar o BUILD_CFLAGS no arquivo debian/rules .

Por exemplo, no astuto, você pode encontrar a página do pacote para libc6 aqui: link . Na barra lateral do lado direito, você pode baixar os arquivos de origem. Em particular, os arquivos de controle residem em glibc_2.26-0ubuntu2.1.debian.tar.xz . Agarrando isso, descompactando e procurando em debian/rules , vejo que BUILD_CFLAGS=-O2 -g .

    
por Martin W 13.04.2018 / 16:21