Estou em uma situação interessante.
Em uma tentativa de ter acesso root nos computadores da rede física da minha escola, acabei criando um ambiente chroot, usando fakeroot e fakechroot. Como toda fonte que eu li parece sugerir que o debootstrap, uma ferramenta para instalar o Debian em um subdiretório, requer root, eu prossegui com o método listado aqui - isso implica copiar, sim, usando cp
, para copiar os comandos do terminal e suas dependências para esse ambiente.
Eu usei esse truque tão elegante que copiei todo o sistema operacional (Debian + uma grande quantidade de ferramentas físicas) em um subdiretório, um subdiretório que finge ser um sistema operacional, onde posso fingir que sou sudo / Deus.
Surpreendentemente, muitas coisas funcionam. Eles não a princípio, mas o café é bom para matar insetos.
Infelizmente, estou um pouco preso. Sempre que faço uso de python (apt-get, et cetera), fico:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
A maioria das correções para este problema envolveu a definição das variáveis PYTHONHOME e PYTHONPATH, o que não corrigiu nada. A outra solução comum é apenas construir python a partir do código-fonte, o que eu tento, mas recebo o seguinte quando tento construir qualquer coisa:
configure: error: C compiler cannot create executables
O arquivo config.log anexado para esse erro pode ser encontrado aqui .
Qualquer ajuda seria muito apreciada. Além disso, se você tiver algum conselho para evitar completamente essa situação ou obter o debootstrap funcionando sem raiz, isso também seria ótimo.
Update1 : Tentei simplificar um pouco as coisas - tentei compilar um arquivo c simples e recebi outro erro comumente listado:
gcc: error trying to exec 'cc1': execvp: No such file or directory
Tentei whereis
para localizá-lo - acontece que cc1 não existe no meu ambiente! Eu vou agora continuar a ser escravo ...
Update2 : Criado um link do gcc para o cc1 ( ln -s /usr/bin/gcc /usr/bin/cc1
), que coloca uma bandagem leve no vulcão - agora tenho opções de linha de comando não reconhecidas quando eu gcc um arquivo de amostra, incluindo '-quiet'
, '-imultiarch x86_64-linux-gnu'
e '-auxbase'
.
Update3 : Tem compilador para funcionar! Corrigidos todos os problemas acima, tentando diferentes compiladores (ou seja, gcc-4.4, gcc-4.7, gcc-ar) - o último dos quais jogo-me um erro diferente - que não poderia encontrar um plugin necessário. Isso me indicou o fato de que nem todas as bibliotecas c foram copiadas do SO base. Eu consertei isso, o que resolveu meu problema (um dos muitos).
Meu novo problema é uma (aparente) falta de GMP, MPFR e MPC. Estes são necessários para reconstruir o gcc.
Update4 : Compilou as três bibliotecas. O próximo problema no processo de compilação do gcc não foi encontrar o arquivo crt1.o, crti.o, crtn.o, -lgcc, -lgcc_s e -lc. Isso foi corrigido ao definir --enable-multilib
como um sinalizador para o script de configuração.
Tags gcc chroot debian linux filesystems