Si bien los procesadores de 64bits llevan con nosotros unos cuantos años, el software, como siempre, sigue siendo el factor limitante pues todavía existe una gran cantidad de programas que no han sido portados para su funcionamiento nativo en 64bits. Gracias a la naturaleza opensource de Linux, es el SO con menos problemas de este tipo, pues en general, únicamente ha sido necesario recompilar todo el software para que este pasase a funcionar de forma nativa en 64 bits, el problema viene con algún software propietario del que es difícil prescindir (como el plugin Flash – aunque ya exista beta de 64bit – o Google Gears) y también con algún software opensource que parece tener algún que otro problemilla con los 64 bits. Este último es el caso de Scratchbox, el toolkit de compilación cruzada que se utiliza en Maemo (y otros tantos proyectos de Linux empotrado) para desarrollar software para los Nokia Internet Tablet.
Si intentamos instalar el Scratchbox de Maemo en un Linux de 64 bits nos encontraremos con el siguiente error:
Checking for prerequisites————————– Running as user root… yes
Not running as user root inside fakeroot… yes
Running outside of scratchbox… yes
Running on Linux kernel… yes
Running on i386 architecture… no
E: Currently Scratcbox can only run in 32 bit i386 architecture.
El problema es que Scratchbox no soporta oficialmente arquitecturas de 64 bits, sin embargo, si tenemos instaladas las librerias necesarias de 32 bits, no debería de existir mayor problema para se ejecutase en modo 32 bits sobre nuestro procesador de 64 bits. ¿La solución? muy sencilla, existe una herramienta muy tonta y útil que permite “engañar” a un programa para que crea que se está ejecutando en otra arquitectura, se llama “setarch” y lo que hace es modificar la salida del comando “uname”, simple, elegante y funcional
.
En definitiva, lo único que tenemos que hacer es ejecutar el script de instalación de maemo-scratchbox mediante “setarch” de la siguiente forma:
setarch i386 ./maemo-scratchbox-install_4.1.2.sh -s directorio_instalacionObviamente, es imprescindible que tengamos instaladas las librerías básicas de 32 bits, como libc y compañía, las cuales es bastante probable que ya las tengais instaladas. En caso de que no, habrá que ver los errores que pueda dar scratchbox en ejecución por la falta de librerías de carga dinámica y buscar los paquetes de 32 bits que contienen esos ficheros. En Mandriva (la distribución que utilizo yo) se hace muy fácilmente con el comando “urpmf”. Pasándole como parámetro el fichero .so del que se queja scratchbox, “urpmf” nos devolverá el nombre del paquete que contiene dicho fichero.





0 Respuestas a “Como instalar Maemo SDK/Scratchbox en Linux de 64bits”