como ter um compilador em funcionamento em um ubuntu vazio sem privilégios de root

1

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 ...

    
por Stefano Sinigardi 18.01.2018 / 18:57

1 resposta

0

Por fim, notei que uma maneira de instalar sem privilégios de administrador fazia o + gcc em um Ubuntu recém-instalado, sem ter que ficar louco escrevendo meus próprios scripts bash para extrair arquivos .deb. Eu só tinha que confiar em conda!

Primeiro, instale o miniconda (não requer privilégios)

Segundo, use o conda para instalar o make, gcc, ... (todos disponíveis no canal oficial do anaconda, também!).

    
por Stefano Sinigardi 01.02.2018 / 16:19