[LUG.ro] compilar 32Bits sobre debian 64bits

Sebastian Dominguez sebaminguez en gmail.com
Mar Feb 1 10:38:27 ART 2011


El 31/01/11 11:28, Guillermo Ibañez escribió:
> ----- Mensaje original -----
>
>> De:Sebastian Dominguez<sebaminguez en gmail.com>
>> Para:lugro en lugro.org.ar
>> CC:
>> Enviado:lunes, 31 de enero de 2011 11:06
>> Asunto:Re: [LUG.ro] compilar 32Bits sobre debian 64bits
>>
>> El 31/01/11 10:55, Manuel Naranjo escribió:
>>> Seba,
>>>> Antes que anda Buen dia y buena semana a todos.
>>>>
>>>>      Molesto a ver si alguno tuvo el mismo problema al querer compilar
>> una aplicación de 32bits bajo un sistema debian lenny de 64 bits.
>>>>      Normalmente usaba el paquete ia32bits para realizar esto pero, si
>> bien existe el paquete ia32-libs, en esta versión de debian no existe
>> ia32-libs-dev necesario para compilar.
>>>>      Por mas que busqué todavía no pude encontrar una alternativa.
>> Agradecería si alguien conoce alguna alternativa al paquete u otro método para
>> compilar.
>>>>      Gracias!
>>>>
>>> Si ya los tenes armados como para generar los .deb lo mejor es debuild que
>> utiliza un chroot y le podes decir para que plataforma compilar.
>>> Y sino un chroot viejo derecho tendría que andar.
>>>
>>> Manu
>> Manu, muchas gracias por responder ¡y tan rápido!
>>
>>      Lamentablemente lo que se compila no es del mundo debian. De hecho no estoy
>> seguro que sea de la tierra, o de esta época ja. En realidad sobre el equipo
>> corre un entorno ideafix por lo que la compilación es como es.
>>
>>      Con chroot te referis a meter toda una instalación 32bits dentro de la de
>> 64, no? Es la única opción que conozco. Solo la aplicación lo veo difícil
>> (justamente lo que me falla es el linkeado a librerias). Desde ya me pongo a
>> buscar, y desde ya te agradezco si me podes comentar mas en este aspecto.
>>
>> Gracias nuevamente.
>>
>> -- Sebastian A. Dominguez
> No entiendo Sebastian.
> Si tenés nada mas que el código fuente ¿por qué decis que es de 32-bits?
> Eso debería definirse en el momento de la compilación. Salvo que tengas algunas lineas en ensamblador o un acceso a muy bajo nivel.
>
> En realidad, no entiendo, por favor, si no estoy en lo correcto, desburrame.  Me interesa conocer el tema.
> Saludos.
>
Hola Guillermo.

     Paso a comentar un poco mas como es la cuestión.
     El primer problema es que la aplicación o esta bajo mi control ni 
responsabilidad. Es dificil convencer a alguien de que tiene que cambiar 
algo. Para que te des una idea en cada equipo esta todo el entorno de 
desarrollo para compilar las aplicaciones en cada equipo.

     Por otro lado la compilación no es puramente en C. Es decir, no 
interviene solo el compilador de C. Ideafix es un entorno de desarrollo, 
casi que un lenguaje aparte. Los accesos a tablas son con instrucciones 
propias, la generación de pantallas (estilo ncurses) es con 
instrucciones propias, etc. Por debajo está hecho en C y se ha ido 
extendiendo con código en C para cumplir necesidades que originalmente 
no hacia.
     Por estas cuestiones necesito seguir linkeando con librerías de 
32bits ya que el runtime de ideafix esta en 32bits.

     Volviendo al tema, que tal vez no tiene el mejor subject, segui 
investigando. Por lo que encontré el cross-compiling se va a empezar a 
manejar con una caracteristica "multi-arch" bajo debian y ubuntu. Desde 
el sitio de debian se peude acceder a la wiki de ubuntu 
https://wiki.ubuntu.com/MultiarchSpec con la especificación.

     Desde ya muchas gracias. Sigo investigando, pero ya voy viendo que 
no me va a quedar otra que instalar una distro 32 bits sobre un equipo 
64 bits.

-- 
Sebastian A. Dominguez


Más información sobre la lista de distribución Lugro