Sinceramente la cosa mi ha lasciato spiazzato , anche se ne avevo avuto notizia qualche mese fa , non mi ero peroccupato più di tanto.
Del passaggio a multiarch c’era traccia nel precedente aticolo su come installare wine (link) , qui però ero riuscito a trovare una scappatoia, ora che la cosa si è fatta più seria abbiamo fatto un pò di prove e i risultati sono stati soddisfacenti.
Dalle operazioni di routine di aggiornamento del sistema ottengo questo output:
I seguenti pacchetti saranno RIMOSSI:
google-earth-stable{a} ia32-libs{a} ia32-libs-dev{a} ia32-libs-gtk{a} libwine-bin-unstable{a} libwine-unstable{a} skype{a} wine-bin-unstable{a}
faccio una breve ricerca e trovo questo link : http://wiki.debian.org/Multiarch/HOWTO , decido di provare.
Aggiungiamo le repo i386
#dpkg --add-architecture i386
Verifico l’architettura principale
#dpkg --print-architecture
amd64
nel caso si voglia rimuove quanto fatto
#dpkg --remove-architecture i386
di tutto vi è traccia in : /var/lib/dpkg/arch
Cominciamo ad elaborare i dati :
#aptitude update
Installo ia32-libs e ia32-libs-gtk in due fasi
root@khome:/etc/apt# aptitude install ia32-libs I seguenti pacchetti NUOVI (NEW) saranno installati: freeglut3:i386 gcc-4.7-base:i386{a} ia32-libs ia32-libs-i386:i386 lesstif2:i386 libacl1:i386 libaio1:i386 libasound2:i386{a} libasyncns0:i386 libattr1:i386{a} libaudio2:i386 libaudiofile1:i386 libavahi-client3:i386 libavahi-common-data:i386{a} libavahi-common3:i386{a} libbsd0:i386 libc6:i386{a} libc6-i686:i386{a} libcaca0:i386{a} libcap2:i386 libcomerr2:i386 libcups2:i386 libcurl3:i386 libdb5.1:i386{a} libdbus-1-3:i386{a} libdirectfb-1.2-9:i386 libdrm-intel1:i386{a} libdrm-nouveau1a:i386{a} libdrm-radeon1:i386{a} libdrm2:i386{a} libedit2:i386 libesd0:i386 libexif12:i386 libexpat1:i386{a} libffi5:i386{a} libflac8:i386 libfltk1.1:i386 libfontconfig1:i386{a} libfreetype6:i386{a} libgcc1:i386{a} libgcrypt11:i386{a} libgd2-xpm:i386{a} libgdbm3:i386 libgl1-mesa-dri:i386{a} libgl1-mesa-glx:i386{a} libglapi-mesa:i386{a} libglu1-mesa:i386 libgnutls26:i386{a} libgpg-error0:i386{a} libgphoto2-2:i386 libgphoto2-port0:i386{a} libgpm2:i386{a} libgssapi-krb5-2:i386{a} libice6:i386{a} libidn11:i386{a} libieee1284-3:i386 libjack-jackd2-0:i386 libjbig0:i386 libjpeg62:i386 libjpeg8:i386{a} libjson0:i386{a} libk5crypto3:i386{a} libkeyutils1:i386{a} libkrb5-3:i386{a} libkrb5support0:i386{a} liblcms1:i386 libldap-2.4-2:i386{a} libltdl7:i386{a} liblzma5:i386{a} liblzo2-2:i386 libmpg123-0:i386 libncursesw5:i386{a} libnspr4:i386 libnspr4-0d:i386 libnss3:i386 libnss3-1d:i386 libodbc1:i386 libogg0:i386{a} libopenal1:i386 libp11-kit0:i386{a} libpam0g:i386 libpciaccess0:i386{a} libpng12-0:i386{a} libpopt0:i386 libpulse0:i386{a} librtmp0:i386{a} libsamplerate0:i386{a} libsane:i386 libsane-extras:i386{a} libsasl2-2:i386{a} libsasl2-modules:i386{a} libsdl1.2debian:i386 libselinux1:i386 libsigc++-2.0-0c2a:i386 libslang2:i386{a} libsm6:i386{a} libsndfile1:i386{a} libsqlite3-0:i386{a} libssh2-1:i386{a} libssl1.0.0:i386{a} libstdc++5:i386 libstdc++6:i386{a} libsvga1:i386 libsysfs2:i386 libtasn1-3:i386{a} libtdb1:i386 libtiff4:i386{a} libtinfo5:i386{a} libts-0.0-0:i386{a} libusb-0.1-4:i386{a} libuuid1:i386{a} libv4l-0:i386{a} libv4lconvert0:i386{a} libvorbis0a:i386{a} libvorbisenc2:i386{a} libvorbisfile3:i386 libwrap0:i386{a} libx11-6:i386{a} libx11-xcb1:i386{a} libx86-1:i386{a} libxau6:i386{a} libxaw7:i386 libxcb-glx0:i386{a} libxcb-render-util0:i386 libxcb-render0:i386{a} libxcb1:i386{a} libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386{a} libxdmcp6:i386{a} libxext6:i386{a} libxfixes3:i386{a} libxft2:i386{a} libxi6:i386{a} libxinerama1:i386{a} libxml2:i386 libxmu6:i386{a} libxmuu1:i386 libxp6:i386{a} libxpm4:i386{a} libxrandr2:i386 libxrender1:i386{a} libxslt1.1:i386 libxss1:i386 libxt6:i386{a} libxtst6:i386{a} libxv1:i386 libxxf86vm1:i386{a} odbcinst1debian2:i386 xaw3dg:i386 zlib1g:i386{a} 0 pacchetti aggiornati, 151 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 59,6 MB di archivi. Dopo l'estrazione, verranno occupati 182 MB. Continuare? [Y/n/?] Y
e poi
# aptitude install ia32-libs-gtk I seguenti pacchetti NUOVI (NEW) saranno installati: cpp:i386{ab} cpp-4.7:i386{ab} gtk2-engines:i386 gtk2-engines-pixbuf:i386 ia32-libs-gtk ia32-libs-gtk-i386:i386{a} libart-2.0-2:i386 libatk1.0-0:i386{a} libbonobo2-0:i386{b} libcairo2:i386{a} libcanberra-gtk-module:i386 libcanberra-gtk0:i386{a} libcanberra0:i386{a} libdatrie1:i386{a} libdbus-glib-1-2:i386 libgail-common:i386 libgail18:i386{a} libgconf-2-4:i386 libgconf2-4:i386 libgdk-pixbuf2.0-0:i386{a} libglade2-0:i386{b} libglib2.0-0:i386{a} libgmp10:i386{a} libgnomecanvas2-0:i386{b} libgtk2.0-0:i386{a} libidl0:i386{b} libjasper1:i386{a} liblua5.1-0:i386 libmng1:i386 libmpc2:i386{a} libmpfr4:i386{a} liborbit2:i386{b} libpango1.0-0:i386{a} libpcre3:i386{a} libpixman-1-0:i386{a} libqt4-dbus:i386 libqt4-network:i386 libqt4-script:i386 libqt4-test:i386 libqt4-xml:i386{a} libqtcore4:i386{a} libqtgui4:i386 libthai0:i386{a} libwmf0.2-7:i386{b} libxcb-shm0:i386{a} I seguenti pacchetti parzialmente installati saranno configurati: skype 0 pacchetti aggiornati, 45 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 25,8 MB di archivi. Dopo l'estrazione, verranno occupati 67,0 MB. I seguenti pacchetti hanno dipendenze non soddisfatte: libgnomecanvas2-0 : Va in conflitto: libgnomecanvas2-0:i386 ma 2.30.3-1.2 sta per essere installato. libgnomecanvas2-0:i386 : Va in conflitto: libgnomecanvas2-0 ma 2.30.3-1.2 è installato. libwmf0.2-7 : Va in conflitto: libwmf0.2-7:i386 ma 0.2.8.4-10 sta per essere installato. libwmf0.2-7:i386 : Va in conflitto: libwmf0.2-7 ma 0.2.8.4-10 è installato. libbonobo2-0 : Va in conflitto: libbonobo2-0:i386 ma 2.24.3-1 sta per essere installato. libbonobo2-0:i386 : Dipende: libbonobo2-common:i386 (= 2.24.3-1) che è un pacchetto virtuale. Va in conflitto: libbonobo2-0 ma 2.24.3-1 è installato. cpp : Va in conflitto: cpp:i386 ma 4:4.7.2-1 sta per essere installato. cpp:i386 : Va in conflitto: cpp ma 4:4.7.2-1 è installato. libidl0 : Va in conflitto: libidl0:i386 ma 0.8.14-0.2 sta per essere installato. libidl0:i386 : Va in conflitto: libidl0 ma 0.8.14-0.2 è installato. libglade2-0 : Va in conflitto: libglade2-0:i386 ma 1:2.6.4-1 sta per essere installato. libglade2-0:i386 : Va in conflitto: libglade2-0 ma 1:2.6.4-1 è installato. liborbit2 : Va in conflitto: liborbit2:i386 ma 1:2.14.19-0.1 sta per essere installato. liborbit2:i386 : Va in conflitto: liborbit2 ma 1:2.14.19-0.1 è installato. cpp-4.7 : Va in conflitto: cpp-4.7:i386 ma 4.7.2-4 sta per essere installato. cpp-4.7:i386 : Va in conflitto: cpp-4.7 ma 4.7.2-4 è installato. Le seguenti azioni permetteranno di soddisfare queste dipendenze: Mantenere i seguenti pacchetti alla versione attuale: 1) cpp:i386 [Non installato] 2) cpp-4.7:i386 [Non installato] 3) libbonobo2-0:i386 [Non installato] 4) libglade2-0:i386 [Non installato] 5) libgnomecanvas2-0:i386 [Non installato] 6) libidl0:i386 [Non installato] 7) liborbit2:i386 [Non installato] 8) libwmf0.2-7:i386 [Non installato] Leave the following dependencies unresolved: 9) ia32-libs-gtk-i386:i386 raccomanda libbonobo2-0:i386 (>= 2.24.3-1) 10) ia32-libs-gtk-i386:i386 raccomanda libglade2-0:i386 (>= 1:2.6.4-1) 11) ia32-libs-gtk-i386:i386 raccomanda libgnomecanvas2-0:i386 (>= 2.30.1-1) 12) ia32-libs-gtk-i386:i386 raccomanda libidl0:i386 (>= 0.8.14-0.1) 13) ia32-libs-gtk-i386:i386 raccomanda liborbit2:i386 (>= 1:2.14.18-0.1) 14) ia32-libs-gtk-i386:i386 raccomanda libwmf0.2-7:i386 (>= 0.2.8.4-6.1+b1) Accettare questa soluzione? [Y/n/q/?] I seguenti pacchetti NUOVI (NEW) saranno installati: gtk2-engines:i386 gtk2-engines-pixbuf:i386 ia32-libs-gtk ia32-libs-gtk-i386:i386{a} libart-2.0-2:i386 libatk1.0-0:i386{a} libcairo2:i386{a} libcanberra-gtk-module:i386 libcanberra-gtk0:i386{a} libcanberra0:i386{a} libdatrie1:i386{a} libdbus-glib-1-2:i386 libgail-common:i386 libgail18:i386{a} libgconf-2-4:i386 libgconf2-4:i386 libgdk-pixbuf2.0-0:i386{a} libglib2.0-0:i386{a} libgtk2.0-0:i386{a} libjasper1:i386{a} liblua5.1-0:i386 libmng1:i386 libpango1.0-0:i386{a} libpcre3:i386{a} libpixman-1-0:i386{a} libqt4-dbus:i386 libqt4-network:i386 libqt4-script:i386 libqt4-test:i386 libqt4-xml:i386{a} libqtcore4:i386{a} libqtgui4:i386 libthai0:i386{a} libxcb-shm0:i386{a} I seguenti pacchetti parzialmente installati saranno configurati: skype I seguenti pacchetti sono RACCOMANDATI ma NON verranno installati: libbonobo2-0:i386 libglade2-0:i386 libgnomecanvas2-0:i386 libidl0:i386 liborbit2:i386 libwmf0.2-7:i386 0 pacchetti aggiornati, 34 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 18,7 MB di archivi. Dopo l'estrazione, verranno occupati 50,2 MB. Continuare? [Y/n/?]
Ora passo all’installazione dei pacchetti rimossi, ovvero wine , google-earth e skype.
PS lo so che sono programmi di terze parti non indispensabili , ma mi servono !
-
Wine
Come fatto in precedenza installo i tre pacchetti per la versione 1.5 , tutto ok 😉
-
Google-earth
Installo la versione 6.2 amd64 prelevata dal sito di google-earth , nessun problema nell’installazione.
Al primo avvio tutto parte ma la parte dove dovrebbe vedersi il globo resta nera …….. azz.
Dato che i driver Nvidia propietari che uso, durante l’installazione chiedono come procedere sulla compatibilità a 32bit, decido dato il cambiamento di ia32-libs di reinstallare i driver.
Al sucessivo login tutto funziona perfettamente . 😉
-
Skype
Provo a prelevare l’ultima versione per wheezy , la 4.1 multiarch ma l’installazione non riesce a terminare correttamente.
Qualche piccola ricerca e trovo qualcosa sul forum debianizzati (link) , peccato che la soluzione proposta non risolva il mio problema.
Riprendo la vecchia versione 4.0.0.8 che si installa correttamente. 😉
Now i’m ready to work in multiarch e sperem ben.
Rimuovere multiarch
Per voler tornare a 64 puri , prima di rimuovere da dpkg l’architettura i386 occorre rimuovere tutti i pacchetti i386.
Per rimuovere i386 :
#dpkg --remove-architecture i386
se non va a buon fine l’errore potrebbe essere :
dpkg: error: cannot remove architecture 'i386' currently in use by the database
cerchiamo i pacchetti a 32 rimasti :
#dpkg -l | grep i386
possiamo rimuoverli con :
#apt-get remove --purge `dpkg --get-selections | grep i386 | awk '{print $1}'`
adesso potete pregare sul multiarch sperando che la compatibilità sia mantenuta dai manteiner nella compilazione dei pacchetti.
Allora? Come è andata a finire?? Sono curioso di sapere, perché vorrei fare anch’io un tentativo e la mia esperienza non è così smaliziata come la tua. 😉
Sto mantenendo il multiarch e per ora va bene.
Queste sono le scelte fatte in debian , e penso sia la via da segurie.
spero ci ripensino, un sacco di librerie doppie…
cmq non riesco ad installarlo
apt-get ia32-libs (and64) non trova la dipendenza ia32-libs-i386 (i386)
…
Con che sistema ?
L’output del comando con errore ?
che minchia mi hai scambiato per un mago ?
Ora con jessie ci sono problemi a installare ia32-libs anche se il sistema resta multiarch
l’unico problema si ha con googleearth che senza non vuole andare
🙂
sono riuscito ad installare google-earth 7.1 scaricato dal sito rimuovendo l’indicazione della dipendenza e apparentemente funziona lo stesso 🙂
mkdir google
dpkg-deb -R googleearth*.deb google
nano google/DEBIAN/control #locate the depends line and remove ‘ia32-libs’
dpkg-deb -b google googleearth-custom_amd64.deb
dpkg -i googleearth-custom_amd64.deb
Grazie per l’aggiramento della limitazione , ora tutto funziona senza ia32-libs che :
This is a transitional package used to migrate the ia32-libs package to true multiarch.
It can be removed once nothing on the system depends on it.
Mi pare che non ci siano più problemi, google-earth ora funziona con la modifica che hai indicato
il resto come skype o wine non necessita di ia32-libs.