Compila 32 bits no sistema de 64 bits

2

Estou tentando compilar uma versão de 32 bits do python em um sistema ubuntu de 64 bits com o seguinte comando de configuração:

CC="gcc -m32" LDFLAGS="-L/lib32 -L/usr/lib32 \ -Lpwd/lib32 -Wl,-rpath,/lib32 \
    -Wl,-rpath,/usr/lib32" \ ./configure --prefix=/opt/pym32

faça, faça a instalação. Nenhum erro, mas deve ser algo errado porque um "readelf -h python" me diz que o python foi construído como um ELF64.

    
por Gabriele B 05.09.2011 / 12:43

2 respostas

4

Use "--build" e "--host".

./configure --help
System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Você precisa usar ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu para compilar para Linux de 32 bits em um sistema Linux de 64 bits. Você ainda precisa adicionar as outras opções ./configure .

    
por Arnel A. Borja 31.10.2011 / 17:55
0

Se você quer que a compilação seja depurada, você deve postar (em um pastebin) sua saída detalhada do gcc. Caso contrário, é impossível saber.

A solução sugerida de usar o chroot pode ajudá-lo e Mikko gentilmente oferece um link para orientar os usuários em como usar o chroot para 32bit python em uma máquina de 64 bits :

    
por Martin Owens -doctormo- 28.09.2011 / 14:47