jueves, 19 de mayo de 2011

Aplicaciones x86 (32 bits) en AMD64 (64 bits)

Casi todos los ordenadores nuevos son de 64 bits y traen instalado un microprocesador basado en la arquitectura AMD64 (Intel Core 2 Quad, AMD Turion 64, etc...).

Para aprovechar las mejoras de las extensiones de 64 bits de esta arquitectura con respecto a la arquitectura x86 (32 bits) es necesario tener instalado la versión AMD64 de Debian GNU/Linux.


A pesar de las ventajas, ciertas aplicaciones no tienen una versión para 64 bits sólo para 32 bits. 

Como por ejemplo:


Google Earth



Packet Tracer




Flash Player (cuando solo existía para 32 bits) 



De todas formas, eso no significa que no puedan ser instaladas y ejecutadas sobre un sistema operativo Debian GNU/Linux de 64 bits

La solución es bien sencilla, tan solo se necesita instalar el paquete ia32-libs y todas las dependencias desde los repositorios oficiales de Debian.


Las dependencias mínimas son las siguientes:

      - lib32asound2
      - lib32bz2-1.0
      - lib32gcc1
      - lib32ncurses5
      - lib32stdc++6
      - lib32v4l-0
      - lib32z1




Si somos desarrolladores y además queremos compilar aplicaciones para x86 desde nuestro Debian para AMD64, es necesario instalar también el paquete ia32-libs-dev.




 En algunos casos como por ejemplo en la instalación de Google Earth 4.1 (beta) hemos de instalar la librería ia32-libs-gtk.




También necesitaremos en algunos casos el paquete: nspluginwrapper para ciertos aplicaciones y/o controladores.




Y también podemos necesitar para conectarnos a internet con dichas aplicaciones el siguiente paquete: lib32nss-mdns






En las siguientes capturas de pantallas podemos observar como en Debian de 64 bits disponemos de muchísimas librerias y paquetes poder usar programas de 32 bits en nuestro Debian de 64 bits.











  NOTA IMPORTANTE  

Este Manual es valido hasta Debian GNU/Linux Squeeze 6.

A partir de Debian GNU/Linux Wheezy 7. El método a usar es multiarquitectura real.
En este otro manual explico como pasar a multiarch.
 

Enlace aquí:   apt y dpkg ya son multiarquitectura  










5 comentarios:

Anónimo dijo...

Excelente articulo, muy util, muchas gracias por compartir la informacion!!!!!

Carlos C. Romero P. dijo...

hola amigo, estoy intentando instalar el paquete ia32-libs pero tengo problemas con las dependencias; me podrías decir cual es la versión de debian que utilizaste y tu lista de repositorios?, estoy utilizando debian 7

Usuario_Debian dijo...

Hola Carlos C. Romero P.

Actualmente el paquete ia32-libs es un paquete de transición que apunta a multiarch (multiarquitectura real). ya no se puede instalar, es mas quien lo tenga instalado tendrá que pasarse a multiarch. Y ya podrás usar programas de 32 bits.

En este otro manual explico como pasar a multiarch.
Enlace aquí: apt y dpkg ya son multiarquitectura

Saludos

jorge dijo...

Ok después de un rato e llegado a la conclusión de instalar las bibliotecas de 32bits en mi sistema a saber ia32 a ver si con esto soluciono y ahora me da este problema con una dependencia virtual ia32-libs-i386 que me genera ia32 como paquete roto y la verdad que allí si no se como solucionar alguna idea ????

apt-get install ia32-libs
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
No se pudieron instalar algunos paquetes. Esto puede significar que
usted pidió una situación imposible o, si está usando la distribución
inestable, que algunos paquetes necesarios no han sido creados o han
sido movidos fuera de Incoming.
La siguiente información puede ayudar a resolver la situación:

Los siguientes paquetes tienen dependencias incumplidas:
ia32-libs : Depende: ia32-libs-i386 pero no es instalable
E: No se pudieron corregir los problemas, usted ha retenido paquetes rotos.

Usuario_Debian dijo...

Hola Jorge.

Actualmente el paquete ia32-libs es un paquete de transición que apunta a multiarch (multiarquitectura real). ya no se puede instalar, es mas quien lo tenga instalado tendrá que pasarse a multiarch. Y ya podrás usar programas de 32 bits.

En este otro manual explico como pasar a multiarch.
Enlace aquí: apt y dpkg ya son multiarquitectura

Con lo cual las dependencia necesaria ya no es ia32-libs, si no ia32-libs-i386, que es la misma que te pide.

Este Manual es valido hasta Debian Squeeze, y es totalmente obsoleto a partir de Debian Wheezy.
En este otro manual explico como pasar a multiarch.
Enlace aquí: apt y dpkg ya son multiarquitectura

Saludos