Wiki d'Imatgedart
Wiki d'Imatgedart
És habitual que vulguem utilitzar alguna aplicació de 32 bits i que tinguem dificultats pel fet que el nostre sistema sigui de 64 bits. Normalment ens trobem en aquesta circumstància bé perquè l'aplicació en si només pot funcionar sota arquitectures de 32 bits o perquè els paquets proveïts a Internet només estan compilats per a aquesta arquitectura, i en aquest cas l'alternativa és compilar-los manualment, cosa que en alguns casos no és exageradament difícil però en d'altres, a causa de les dependències, es pot convertir en un maldecap important.
Per a resoldre aquesta qüestió comptem fonamentalment amb tres eines, les ia32-libs i getlibs, i finalment amb l'opció –force-architecture de l'eina dpkg.
La diferència entre les dues prmeres solucions és el fet que una cosa és que el nostre sistema pugui executar aplicacions de 32 bits, i això ho resolem amb ia32. Però que el nostre sistema pugui fer això no implica que tingui instal·lades les llibreries de 32 bits que una aplicació determinada pot necessitar, i això és el que ens resol getlibs.
Pel que fa a l'opció –force-architecture de nou és convenient que no confonguem els conceptes. Aquesta opció l'únic que fa és forçar una instal·lació en una arquitectura diferent a aquella per a la qual està preparada el paquet. No implica, per tant, que un cop instal·lat el paquet aquest es pugui executar al nostre sistema en particular (això és el que ens resol ia32-libs) ni que tingui les dependències de llibreries resoltes per a poder-se executar, tampoc (que és el que ens resol getlibs). Aquesta opció s'utilitza així:
# dpkg -i --force-architecture /ruta/a/nomdelpaquet.deb
L'última cosa sobre –force-architecture: think before you tipe. Pot ser que el paquet estigui disponible en la teva arquitectura i que no ho hagis mirat prou bé, també hi ha la possibilitat de compilar-lo manualment, etc.
Cal dir també que no sempre cal recórrer a totes les solucions juntes. El sentit comú i una mica de recerca a Internet us poden donar alguna pista més sobre quan cal utilitzar cada una.
és quelcom tan senzill com fer
# apt-get install ia32-libs
Podeu descarregar Getlibs des d'aquí. Es tracta d'un únic paquet que ens serveix tant per Ubuntu com per Debian així com les seves diverses edicions. Podeu instal·lar aquest paquet amb les eines habituals com
dpkg -i /ruta/a/getlibs-all.deb
o bé amb l'eina instal·ladora Gdeb. No entraré aquí en aquest aspecte.
L'ús de getlibs no és difícil però tampoc del tot trivial i cal anar-li agafant el truc. És una eina simple i per tant tampoc ens dóna massa informació sobre el que fa, tot i que generalment és suficient. Per mirar si tenim èxit, és convenient anar repassant els continguts dels directoris
/usr/lib /usr/lib32 /usr/lib64
per comprovar que s'instal·la a lib32 allò que necessitem.
Generalment utilitzarem getlibs per descarregar les llibreries de l'absència de les quals un programa es queixi en ser arrencat. Per veure això, evidentment i normalment, cal engegar el programa a través del terminal. Si busquem aquella llibreria utilitzant Synaptic veurem que molt probablement sí que la tenim instal·lada, però evidentment en la versió nativa del nostre sistema, de 64 bits. Aquí és on entra getlibs i les seves opcions, que apareixen si cridem el programa sense arguments:
getlibs /path/to/binary getlibs -l i386librarytoinstall.so getlibs -p i386packagename getlibs -w www.website.com/i386package.deb getlibs -i /home/root/i386package.deb
En tots els casos és útil que tingueu controlats quins repositoris teniu activats i quins no, ja que d'això també dependrà que getlibs trobi el paquet en qüestió. En alguns casos, getlibs us dirà que no pot trobar el paquet a una determinada url. Copieu i enganxeu aquesta URL per comprovar que el paquet no hagi fet un canvi de nom del qual getlibs no està al corrent.
En altres casos, us pot caldre jugar amb el nom de la llibreria per tal que getlibs pugui descarregar-la, encara que sigui lleugerament diferent d'aquella de què es queixava el programa. En aquests casos, i només a vegades, crear enllaços simbòlics amb el nom de la llibreria absent cap a la descarregada per getlibs pot resoldre el problema, però no sempre.
Sort!!!
Ei, gràcies per ser a aquesta pàgina.
Potser has notat que ha canviat una mica.
Estic "en ello".