[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