Inicializando o ambiente de compilação para Android em 64 bits de 12.04

5

Eu estou olhando para inicializar o ambiente de compilação para a base de código AOSP (ou, aliás, qualquer fonte Android), e um dos primeiros passos no processo é:

$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Eu tenho uma máquina de 64 bits Ubuntu 12.04 (recém-instalada) e enfrentei problemas com dependências de 32 bits no passado. Eu quero pegar isso desde o começo.

Eu instalei todos os pacotes (através do Synaptic ou do apt-get), com exceção de:

libncurses5-dev:i386
libgl1-mesa-glx:i386
zlib1g-dev:i386

apt-get para estes três retornos sozinho;

danielgt@danielgt-linux:~$ sudo apt-get install libncurses5-dev:i386 libgl1-mesa-glx:i386 zlib1g-dev:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgl1-mesa-glx:i386 is already the newest version.
The following extra packages will be installed:
libc6-dev:i386 linux-libc-dev:i386
Suggested packages:
glibc-doc:i386 manpages-dev:i386 ncurses-doc:i386
Recommended packages:
gcc:i386 c-compiler:i386
The following packages will be REMOVED
build-essential g++ g++-multilib gcc gcc-multilib libncurses5-dev
The following NEW packages will be installed
libc6-dev:i386 libncurses5-dev:i386 linux-libc-dev:i386 zlib1g-dev:i386
0 upgraded, 4 newly installed, 6 to remove and 0 not upgraded.
Need to get 6,349 kB of archives.
After this operation, 23.2 MB of additional disk space will be used.
Do you want to continue [Y/n]? n
Abort.
danielgt@danielgt-linux:~$

Parece contra-intuitivo para mim executar o último comando e;

  1. Remova os pacotes build-essential e g ++ - multilib indicados como exigido no comando original.
  2. Remova um pacote de 64 bits (libcurses5-dev) para substituí-lo pela variante i386, já que é necessário construir um sistema de 64 bits.

Além disso, parece que não tenho o libgl1-mesa-glx: i386 instalado, embora eu tenha a variante de 64 bits (libgl1-mesa-glx). Isso é explicado pelo segundo comando (ln) executado?

Algum conselho sobre como devo proceder seria bem-vindo?

    
por Daniel_GT 15.02.2013 / 17:17

3 respostas

1

Eu instalei o Ubuntu 12.04.2 amd64 e o seguinte comando funcionou para mim. O segundo comando (link simbólico) não é necessário.

sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx-lts-quantal:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386

Eu não instalei openjdk-6-jdk , em vez disso, usei jdk-6u37-linux-x64.bin .

cd ~
./jdk-6u37-linux-x64.bin
export PATH=~/jdk1.6.0_37/bin:$PATH
    
por wbchu 22.03.2013 / 16:29
0

Eu tive o mesmo problema ao instalar o libgl1-mesa-glx:i386 . Então eu removo aquele e insto libgl1-mesa-glx-lts-quantal:i386 . Funciona para mim. Eu posso obter /usr/lib/i386-linux-gnu/mesa/libGL.so.1 .

    
por m7yang 15.07.2013 / 11:22
0

As respostas recomendadas falham com o Ubuntu 12.04.03 (AMD64). Reinicialização do Ubuntu trava. Eu sou capaz de chegar a um prompt de comando, pressionando escape imediatamente após a tela de inicialização da GUI exibe com os pontos de ciclismo de cor.

Consegui que a GUI fosse inicializada corretamente seguindo as instruções do link para o seguinte post:

O Ubuntu não inicializa depois de inicializar o Build Environment para Android

Investigando se o ambiente do Android é funcional ...

    
por user2868433 26.12.2013 / 18:58