Estou brincando com ambientes chroot e gostaria de ter um compilador C portátil para poder configurar facilmente algumas ferramentas básicas de construção em cada ambiente sem precisar mover muitas bibliotecas.
O Gcc parece bastante inchado pelo que eu quero fazer, mas se for razoavelmente fácil criar um gcc estático, não me importaria com algumas dezenas de megabytes.
Também estou olhando para o Tiny C Compiler, que é menor, mas ainda parece ter um conjunto impressionante de recursos. No entanto, a execução de ./configure --help no diretório de origem não lista nenhuma opção para criar o tcc estaticamente, e não tenho certeza de como isso poderia ser feito.
c
gcc
compiler
static-linking
math4tots
fonte
fonte
Respostas:
Construir um binário estático deve ser tão simples quanto executar o gcc com -static, ou se ld estiver sendo chamado diretamente, use -Bstatic. Tentar
depois de correr
configure
. Se falhar, os resultados serão óbvios, por exemplo, várias referências indefinidas no tempo do link.fonte
make CFLAGS=-static
agora. Faça impressões sobre algum aviso edlopen
, quando tento executar o executável no ambiente chroot,/usr/lib/crt1.o .. crti,o .. crtn.o
não encontro erros. É isso que você quis dizer com "referências indefinidas no tempo do link"?Você também pode recuperar uma versão pré-compilada com static-get
fonte