Estou tentando o meu melhor para ter um compilador de trabalho em uma nova instalação do Ubuntu, sem ter acesso a privilégios de root na máquina (meu usuário também não está na lista sudoers
).
Para mim, isso é totalmente não-trivial. Não consigo encontrar nenhum gcc
portátil para o Ubuntu (ou Linux em geral) nem qualquer receita para criá-lo.
Como em um ubuntu recém-instalado você não tem nem make
, e não há nenhum compilador para construí-lo, pelo menos eu descobri que eu poderia baixar o arquivo make-x.xx.deb
com apt-get download make
Exija sudo
, é claro, já que ele apenas baixa o pacote deb), extraia com dpkg -x
( dpkg -i --force-not-sudo
não funciona ...) e aponte manualmente para o binário extraído.
Eu tentei o mesmo com gcc
, baixando também todos os pacotes que apt-get install
teria baixado. Sem surpresa , não funcionou. Nem mesmo adicionando ao PATH, LD_LIBRARY_PATH, LIBRARY_PATH, COMPILER_PATH muitas pastas fizeram a mágica. Corrigindo um problema após o outro, o erro insuperável final com truques de caminho foi /usr/bin/ld: cannot find /usr/lib/x86_64-linux-gnu/libmvec_nonshared.a
Como eu esperava, o compilador gcc
é codificado para procurar pelo menos uma biblioteca em um local em que não posso escrever nada ( /usr/lib/...
). Talvez haja também outros que eu não conheço que iria falhar mais tarde.
Eu também tentei baixar um binário pré-construído de clang
do site do LLVM. O problema é que o compilador clang, sem qualquer gcc
instalado, é completamente não funcional. Eu posso olhar para os cabeçalhos gcc
extraídos dos arquivos .deb acima, mas ele finalmente falha porque não pode encontrar um executável ld
no sistema para a fase de vinculação (eu tive que remover manualmente o gcc
extraído do caminho para outros problemas).
Então aqui estou, pedindo sugestões: como instalar o gcc (ou qualquer outro ambiente decente de compilação / compilação) no Ubuntu sem privilégios de administrador? Eu não posso pensar que já não está resolvido como um problema [para adicionar combustível ao fogo, no Windows é fácil e possível com um par de downloads de sites oficiais].
A única ideia que eu criei foi construí-lo em outra máquina idêntica na qual tenho privilégios de administrador, usando os --prefix
e --disable-shared
switches, e encontre um lugar razoável para armazenar o pacote resultante (após um tar.gz
treatment) online. Mas o script resultante não parece legítimo, quando você vê que vai baixar um compilador de um site pessoal desconhecido ...