Difference between revisions of "Wine multilib"

From Studiosg
Jump to navigationJump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Benvenuti nella pagina Wiki di Simone Giustetti.
+
{{header_it|title=Istruzioni di StudioSG per compilare WINE per Slackware multi-libreria| keyword={{Template:keyword_it_wine}}| description=Procedure per generare un pacchetto funzionante di WINE per una distribuzione Slackware multi-libreria | link_page=En/wine_multilib}}
  
 +
== WINE 64 bit & Slackware ==
  
Languages: [http://www.giustetti.net/wiki/index.php?title=En/wine_multilib English] - '''Italiano'''
+
Istruzioni per installare WINE su Slackware64 con il supporto per software a 32 bit.
  
----
+
Con la versione 13.0 Slackware, la distribuzione Linux più vecchia e duratura, ha ufficialmente esteso il supporto all'architettura x86_64 a 64 bit. Come per gli altri port esistenti, anche la nuova Slackware64 è sviluppata su di un tree dedicato e non ha contatti con la versione standard. Slackware 64 è una distribuzione “64 bit only” vale a dire che può far girare esclusivamente software compilato a 64 bit: mancano le librerie di compatibilità per eseguire codice a 32 bit che i processori a 64 bit comunque supporterebbero. Tutto il software normalmente distribuito con la versione ufficiale è ovviamente stato ricompilato per funzionare a 64 bit: Apache, Mysql, Kde, Gimp e molti altri pacchetti ancora; purtroppo però molti pacchetti di terze parti sono tutt'ora disponibili esclusivamente nella versione a 32 bit. Tra questi vale la pena citare WINE, la soluzione più diffusa quando si ha la necessità di eseguire programmi sviluppati esclusivamente per sistemi operativi Microsoft. Nel seguito del presente articolo ''verrà eseguita una installazione funzionante di WINE con supporto ai 32 bit su Slackware 13.1 a 64 bit''.
 
 
 
 
== Wine 64 bit <nowiki>&amp;</nowiki> Slackware ==
 
 
 
 
 
Istruzioni per installare Wine su Slackware64 con il supporto per software a 32 bit.
 
 
 
Con la versione 13.0 Slackware, la distribuzione Linux pi<nowiki>&ugrave;</nowiki> vecchia e duratura, ha ufficialmente esteso il supporto all'architettura x86_64 a 64 bit. Come per gli altri port esistenti, anche la nuova Slackware64 <nowiki>&egrave;</nowiki> sviluppata su di un tree dedicato e non ha contatti con la versione standard. Slackware 64 <nowiki>&egrave;</nowiki> una distribuzione “64 bit only” vale a dire che pu<nowiki>&ograve;</nowiki> far girare esclusivamente software compilato a 64 bit: mancano le librerie di compatibilit<nowiki>&agrave;</nowiki> per eseguire codice a 32 bit che i processori a 64 bit comunque supporterebbero. Tutto il software normalmente distribuito con la versione ufficiale <nowiki>&egrave;</nowiki> ovviamente stato ricompilato per funzionare a 64 bit: Apache, Mysql, Kde, Gimp e molti altri pacchetti ancora; purtroppo per<nowiki>&ograve;</nowiki> molti pacchetti di terze parti sono tutt'ora disponibili esclusivamente nella versione a 32 bit. Tra questi vale la pena citare Wine, la soluzione pi<nowiki>&ugrave;</nowiki> diffusa quando si ha la necessit<nowiki>&agrave;</nowiki> di eseguire programmi sviluppati esclusivamente per sistemi operativi Microsoft. Nel seguito del presente articolo ''verr<nowiki>&agrave;</nowiki> eseguita una installazione funzionante di Wine con supporto ai 32 bit su Slackware 13.1 a 64 bit''.
 
  
 
La procedura di installazione consta dei passi seguenti:
 
La procedura di installazione consta dei passi seguenti:
* Installazione di uno strato di compatibilit<nowiki>&agrave;</nowiki> ai 32 bit su Slackware64.
+
* Installazione di uno strato di compatibilit&agrave; ai 32 bit su Slackware64.
 
* Configurazione del sistema per il multi-libreria.
 
* Configurazione del sistema per il multi-libreria.
* Selezione ed installazione della versione di Wine pi<nowiki>&ugrave;</nowiki> adatta.
+
* Selezione ed installazione della versione di WINE pi&ugrave; adatta.
  
  
 
== Slackware64 Multilib ==
 
== Slackware64 Multilib ==
  
 
+
Il primo passo consiste nell'estendere il supporto di Slackware64 alle librerie ed ai pacchetti compilati a 32 bit. Come anticipato nel paragrafo precedente, il design di Slackware64 &egrave; “64 bit only”, ma la distribuzione &egrave; anche “Multilib ready” in grado cio&egrave; di essere estesa perch&egrave; esegua e compili software a 32 bit senza stravolgimenti al sistema. I prerequisiti per eseguire l'operazione consistono nella disponibilit&agrave; dei pacchetti dell'installazione a 32 bit. Il Dvd ufficiale contiene i pacchetti 32 bit sul lato opposto di quelli a 64. Chi non possiede tale Dvd dovr&agrave; invece scaricare l'albero di installazione a 32 bit dalle fonti istituzionali:
Il primo passo consiste nell'estendere il supporto di Slackware64 alle librerie ed ai pacchetti compilati a 32 bit. Come anticipato nel paragrafo precedente, il design di Slackware64 <nowiki>&egrave;</nowiki> “64 bit only”, ma la distribuzione <nowiki>&egrave;</nowiki> anche “Multilib ready” in grado cio<nowiki>&egrave;</nowiki> di essere estesa perch<nowiki>&egrave;</nowiki> esegua e compili software a 32 bit senza stravolgimenti al sistema. I prerequisiti per eseguire l'operazione consistono nella disponibilit<nowiki>&agrave;</nowiki> dei pacchetti dell'installazione a 32 bit. Il Dvd ufficiale contiene i pacchetti 32 bit sul lato opposto di quelli a 64. Chi non possiede tale Dvd dovr<nowiki>&agrave;</nowiki> invece scaricare l'albero di installazione a 32 bit dalle fonti istituzionali:
 
  
 
[http://www.slackware.org/getslack/ Slackware repository]
 
[http://www.slackware.org/getslack/ Slackware repository]
  
Oltre all'albero di installazione <nowiki>&egrave;</nowiki> necessario scaricare alcuni pacchetti specifici per un sistema multi libreria con cui sostituire quelli istituzionali. Si tratta di aggiornare le glibc, la libreria C di Gnu, e il gcc, il compilatore standard Linux, con versioni compilate ad hoc. La fonte da cui reperire suddetti pacchetti <nowiki>&egrave;</nowiki>:
+
Oltre all'albero di installazione &egrave; necessario scaricare alcuni pacchetti specifici per un sistema multi libreria con cui sostituire quelli istituzionali. Si tratta di aggiornare le glibc, la libreria C di Gnu, e il gcc, il compilatore standard Linux, con versioni compilate ad hoc. La fonte da cui reperire suddetti pacchetti &egrave;:
 
[http://connie.slackware.com/~alien/multilib/13.1/ Alien repository]
 
[http://connie.slackware.com/~alien/multilib/13.1/ Alien repository]
  
 
Si crei una nuova directory vuota e vi si scarichino i pacchetti
 
Si crei una nuova directory vuota e vi si scarichino i pacchetti
   mkdir /tmp/multilib
+
   '''mkdir''' /tmp/multilib
  
 
Per aggiornare il sistema si lanci il comando:
 
Per aggiornare il sistema si lanci il comando:
   cd /tmp/multilib
+
   '''cd''' /tmp/multilib
   upgradepkg --reinstall *.t?z
+
   '''upgradepkg''' ''--reinstall'' *.t?z
   installpkg compat32-tools*.t?z
+
   '''installpkg''' compat32-tools*.t?z
  
Tra i pacchetti installati compat32-tools contiene alcuni strumenti che verranno utilizzati per convertire i pacchetti a 32 bit in versioni adatte ad un sistema a 64 bit multilibreria. Si proceda alla creazione della directory /tmp/compat32 in cui andremo a generare i pacchetti.
+
Tra i pacchetti installati compat32-tools contiene alcuni strumenti che verranno utilizzati per convertire i pacchetti a 32 bit in versioni adatte ad un sistema a 64 bit multi-libreria. Si proceda alla creazione della directory /tmp/compat32 in cui andremo a generare i pacchetti.
   mkdir /tmp/compat32
+
   '''mkdir''' /tmp/compat32
  
 
Supponiamo che l'albero di installazione di Slackware 32 bit sia disponibile nel percorso /mnt/slackiso/slack-13.1/slackware/. Subito al di sotto di tale directory si troveranno le sottodirectory a/, ap/, d/, l/, ecc.
 
Supponiamo che l'albero di installazione di Slackware 32 bit sia disponibile nel percorso /mnt/slackiso/slack-13.1/slackware/. Subito al di sotto di tale directory si troveranno le sottodirectory a/, ap/, d/, l/, ecc.
   root@darkstar:~# ls -la /mnt/slackiso/slack-13.1/slackware/
+
   root@darkstar:~# '''ls''' ''-la'' /mnt/slackiso/slack-13.1/slackware/
 
   total 2920
 
   total 2920
 
   drwxr-xr-x 17 4015 4015    1024 2010-05-18 08:57 ./
 
   drwxr-xr-x 17 4015 4015    1024 2010-05-18 08:57 ./
Line 67: Line 59:
 
   drwxr-xr-x  2 4015 4015    1024 2010-05-16 07:05 y/
 
   drwxr-xr-x  2 4015 4015    1024 2010-05-16 07:05 y/
  
compat32-tools ha installato 2 script di conversione: convertpkg-compat32 e massconvert32.sh. Il primo <nowiki>&egrave;</nowiki> utile per convertire singoli pacchetti mentre il secondo <nowiki>&egrave;</nowiki> consigliato per eseguire una conversione di massa dei pacchetti di un sistema. Lo script massconvert32.sh contiene una lista dei pacchetti che verranno convertiti. Purtroppo alcuni pacchetti necessari per Wine non fanno parte della lista. Il problema pu<nowiki>&ograve;</nowiki> essere risolto in due modi:
+
compat32-tools ha installato 2 script di conversione: convertpkg-compat32 e massconvert32.sh. Il primo &egrave; utile per convertire singoli pacchetti mentre il secondo &egrave; consigliato per eseguire una conversione di massa dei pacchetti di un sistema. Lo script massconvert32.sh contiene una lista dei pacchetti che verranno convertiti. Purtroppo alcuni pacchetti necessari per WINE non fanno parte della lista. Il problema pu&ograve; essere risolto in due modi:
 
# Usando lo script massconvert32.sh standard e quindi lanciando convertpkg-compat32 per i pacchetti mancanti.
 
# Usando lo script massconvert32.sh standard e quindi lanciando convertpkg-compat32 per i pacchetti mancanti.
# Usando una versione modificata del comando che pu<nowiki>&ograve;</nowiki> essere scaricata qui: [http://www.giustetti.net/resource/script/massconvert32.sh Updated massconvert32.sh]
+
# Usando una versione modificata del comando che pu&ograve; essere scaricata qui: [http://www.giustetti.net/resource/script/131/massconvert32.sh Updated massconvert32.sh]
  
 
Si supponga di utilizzare lo script modificato. Procederemo alla conversione attraverso i comandi:
 
Si supponga di utilizzare lo script modificato. Procederemo alla conversione attraverso i comandi:
   cd /tmp/compat32
+
   '''cd''' /tmp/compat32
   massconvert32.sh -i /mnt/slackiso/slack-13.1/slackware/
+
   '''massconvert32.sh''' ''-i'' /mnt/slackiso/slack-13.1/slackware/
  
Il comando si occuper<nowiki>&agrave;</nowiki> della conversione. La procedura potrebbe richiedere un po' di tempo, ma al termine in /tmp/compat32 saranno disponibili circa 60 Mb di nuovi pacchetti suddivisi nelle directory a/, ap/, d/, l/, ecc.
+
Il comando si occuper&agrave; della conversione. La procedura potrebbe richiedere un po' di tempo, ma al termine in /tmp/compat32 saranno disponibili circa 60 Mb di nuovi pacchetti suddivisi nelle directory a/, ap/, d/, l/, ecc.
  
 
Si proceda all'installazione dei nuovi pacchetti ottenuti:
 
Si proceda all'installazione dei nuovi pacchetti ottenuti:
   installpkg /tmp/compat32/*/*.t?z
+
   '''installpkg''' /tmp/compat32/*/*.t?z
  
Il sistema cos<nowiki>&igrave;</nowiki> ottenuto sar<nowiki>&agrave;</nowiki> in grado di eseguire codice compilato per i 32 bit.
+
Il sistema cos&igrave; ottenuto sar&agrave; in grado di eseguire codice compilato per i 32 bit.
  
 
Se avessimo fatto ricorso allo script istituzionale, avremmo dovuto convertire ulteriori quattro pacchetti attraverso il comando convertpkg-compat32. Segue la lista dei quattro pacchetti:
 
Se avessimo fatto ricorso allo script istituzionale, avremmo dovuto convertire ulteriori quattro pacchetti attraverso il comando convertpkg-compat32. Segue la lista dei quattro pacchetti:
 
+
* /mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz
/mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz
+
* /mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz
 
+
* /mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz
/mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz
+
* /mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz
 
 
/mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz
 
 
 
/mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz
 
  
 
Si esegua la conversione
 
Si esegua la conversione
   convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz -d /tmp/compat32/l
+
   '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz ''-d'' /tmp/compat32/l
   convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz -d /tmp/compat32/l
+
   '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz ''-d'' /tmp/compat32/l
   mkdir /tmp/compat32/xap
+
   '''mkdir''' /tmp/compat32/xap
   convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz -d /tmp/compat32/xap
+
   '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz ''-d'' /tmp/compat32/xap
   convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz -d /tmp/compat32/xap
+
   '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz ''-d'' /tmp/compat32/xap
  
 
E si installino quindi i pacchetti con i comandi standard per la gestione dei pacchetti:
 
E si installino quindi i pacchetti con i comandi standard per la gestione dei pacchetti:
   installpkg ./l/libusb*.t?z
+
   '''installpkg''' ./l/libusb*.t?z
   installpkg ./l/libieee1284*.t?z
+
   '''installpkg''' ./l/libieee1284*.t?z
   installpkg ./xap/sane*.t?z
+
   '''installpkg''' ./xap/sane*.t?z
   installpkg ./xap/xsane *.t?z
+
   '''installpkg''' ./xap/xsane *.t?z
  
  
 
== Configurazione ==
 
== Configurazione ==
  
Una volta installato le librerie a 32 bit, <nowiki>&egrave;</nowiki> consigliato reinstallare i driver della scheda video in modo che usino le librerie a 64 bit per le applicazioni a 64 bit e quelli a 32 per le applicazioni a 32. I pacchetti proprietari forniti dai produttori di schede video dovrebbero contenere sia i driver a 32 che quelli a 64 bit, ma <nowiki>&egrave;</nowiki> molto probabile che solo i secondi siano stati installati su Slackware64.
+
Una volta installato le librerie a 32 bit, &egrave; consigliato reinstallare i driver della scheda video in modo che usino le librerie a 64 bit per le applicazioni a 64 bit e quelli a 32 per le applicazioni a 32. I pacchetti proprietari forniti dai produttori di schede video dovrebbero contenere sia i driver a 32 che quelli a 64 bit, ma &egrave; molto probabile che solo i secondi siano stati installati su Slackware64.
  
Nel caso di driver Ati proprietari:
+
Nel caso di driver ATI proprietari:
Si scarichi il pacchetto di installazione dal sito [http://www.amd.com/us/Pages/AMDHomePage.aspx Ati].
+
Si scarichi il pacchetto di installazione dal sito [http://www.amd.com/us/Pages/AMDHomePage.aspx ATI].
 
Si scarichino eventuali patch salvandole nella directory /etc/ati/patch.
 
Si scarichino eventuali patch salvandole nella directory /etc/ati/patch.
 
Si esegua quindi il comando:
 
Si esegua quindi il comando:
   sh ./<file>.run --buildpkg=Slackware/All
+
   '''sh''' ./<file>.run ''--buildpkg=''Slackware/All
Che creer<nowiki>&agrave;</nowiki> due pacchetti uno contenente il modulo del kernel ed il secondo contenente le librerie. Si noti che il secondo avr<nowiki>&agrave;</nowiki> dimensione circa doppia del normale.
+
Che creer&agrave; due pacchetti uno contenente il modulo del kernel ed il secondo contenente le librerie. Si noti che il secondo avr&agrave; dimensione circa doppia del normale.
Si rimuovano i vecchi paccheti e si installino i nuovi:
+
Si rimuovano i vecchi pacchetti e si installino i nuovi:
   removepkg /var/log/packages/fglrx-*
+
   '''removepkg''' /var/log/packages/fglrx-*
   installpkg fglrx*.t?z
+
   '''installpkg''' fglrx*.t?z
 
Si aggiorni la configurazione del file xorg.conf
 
Si aggiorni la configurazione del file xorg.conf
   aticonfig --initial
+
   '''aticonfig''' ''--initial''
E si proceda quindi al reboot della machina perch<nowiki>&egrave;</nowiki> i nuovi driver vengano caricati all'avvio ed utilizzati dal sistema.
+
E si proceda quindi al reboot della macchina perch&egrave; i nuovi driver vengano caricati all'avvio ed utilizzati dal sistema.
  
Potrebbe capitare che alcune applicazioni che fanno un uso diffuso della grafica 3-D, i giochi ad esempio, abbiano difficolt<nowiki>&agrave;</nowiki> a riconoscere quale versione dei driver utilizzare. I sintomi consistono in un basso frame rate nonostante una configurazione conservativa degli effetti grafici, nel disegno non corretto dei poligoni tridimensionali, nell'apparizione e sparizione delle texture, nella mancata definizione delle ombre o altro ancora.
+
Potrebbe capitare che alcune applicazioni che fanno un uso diffuso della grafica 3-D, i giochi ad esempio, abbiano difficolt&agrave; a riconoscere quale versione dei driver utilizzare. I sintomi consistono in un basso frame rate nonostante una configurazione conservativa degli effetti grafici, nel disegno non corretto dei poligoni tridimensionali, nell'apparizione e sparizione delle texture, nella mancata definizione delle ombre o altro ancora.
Per ovviare a difetti sopra citati si pu<nowiki>&ograve;</nowiki> imporre alle applicazioni l'impiego dei driver a 32 bit. Per farlo <nowiki>&egrave;</nowiki> necessario lanciare da shell il comando:
+
Per ovviare a difetti sopra citati si pu&ograve; imporre alle applicazioni l'impiego dei driver a 32 bit. Per farlo &egrave; necessario lanciare da shell il comando:
   export LIBGL=usr/lib/xorg/modules/dri
+
   '''export''' LIBGL=usr/lib/xorg/modules/dri
prima del lancio di Wine.
+
prima del lancio di WINE.
  
Per far si che la configurazione venga caricata automaticamente al login <nowiki>&egrave;</nowiki> possibile modificare il file .profile nella propria home directory aggiungendo il comando precedente in una riga dedicata.
+
Per far si che la configurazione venga caricata automaticamente al login &egrave; possibile modificare il file .profile nella propria home directory aggiungendo il comando precedente in una riga dedicata.
  
  
== Installare Wine ==
+
== Installare WINE ==
  
Siamo quasi giunti alla fine del viaggio. Una volta che il sistema <nowiki>&egrave;</nowiki> multilib compliant tutto quel che serve per far girare software a 32 bit <nowiki>&egrave;</nowiki> installarlo. Per usare la versione 32 bit di Wine lo si scarichi dal repository Slackware, [http://sourceforge.net/projects/wine/files/ Wine download], quindi lo si installi:
+
Siamo quasi giunti alla fine del viaggio. Una volta che il sistema &egrave; multilib compliant tutto quel che serve per far girare software a 32 bit &egrave; installarlo. Per usare la versione 32 bit di WINE lo si scarichi dal repository Slackware, [http://sourceforge.net/projects/wine/files/ WINE download], quindi lo si installi:
   installpkg wine-1.2-rc3-i486-1sg.txz
+
   '''installpkg''' wine-1.2-rc3-i486-1sg.txz
  
 
Tutto il software Windows a 32 bit in grado di girare su di un sistema operativo Slackware a 32 bit dovrebbe funzionare senza problemi anche su Slackware64.
 
Tutto il software Windows a 32 bit in grado di girare su di un sistema operativo Slackware a 32 bit dovrebbe funzionare senza problemi anche su Slackware64.
  
Il pacchetto di Wine a 64 bit wine-1.2-rc3-x86_64-1sg.txz contiene sia i binari a 64 bit che il sottosistema WoW64. WoW64 <nowiki>&egrave;</nowiki> l'abbreviazione di Windows on Windows 64. Un sosttosistema in grado di far girare binari per Windows a 32 bit su un sistema a 64. Il pacchetto consente di eseguire binari sia a 32 che a 64 bit sfruttando un'unico $WINEPREFIX. WoW64 <nowiki>&egrave;</nowiki> una delle novit<nowiki>&agrave;</nowiki> della versione 1.2. Il pacchetto <nowiki>&egrave;</nowiki> stabile, ma rilasciato a scopo di test; Si raccomanda l'uso della versione 32 bit di Wine per il quotidiano.
+
Il pacchetto di WINE a 64 bit wine-1.2-rc3-x86_64-1sg.txz contiene sia i binari a 64 bit che il sottosistema WoW64. WoW64 &egrave; l'abbreviazione di Windows on Windows 64. Un sottosistema in grado di far girare binari per Windows a 32 bit su un sistema a 64. Il pacchetto consente di eseguire binari sia a 32 che a 64 bit sfruttando un unico $WINEPREFIX. WoW64 &egrave; una delle novit&agrave; della versione 1.2. Il pacchetto &egrave; stabile, ma rilasciato a scopo di test; Si raccomanda l'uso della versione 32 bit di WINE per il quotidiano.
 
Maggiori dettagli circa WoW64 possono essere reperiti dal sito: [http://wiki.winehq.org/Wine64ForPackagers WineHq].
 
Maggiori dettagli circa WoW64 possono essere reperiti dal sito: [http://wiki.winehq.org/Wine64ForPackagers WineHq].
  
  
External links
+
== Slackware 13.37 ==
 +
 
 +
Il 27 Aprile del 2011 &egrave; stato ufficializzato il rilascio della versione 13.37 di Slackware. La procedura per estendere una distribuzione a 64 bit pura in una multi-libreria, in grado cio&egrave; di eseguire programmi a 32 bit, &egrave; rimasta grossomodo invariata. Di seguito sono elencate le poche differenze rispetto a Slackware 13.1.
 +
 
 +
I '''pacchetti multi-libreria per Slackware 13.37''' possono essere reperiti al seguente link: [http://connie.slackware.com/~alien/multilib/13.37/ Alien repository]
 +
 
 +
Lo script massconvert32.sh &egrave; stato aggiornato e la nuova versione converte in automatico anche i quattro pacchetti specifici per il supporto agli scanner sotto WINE. Non converte invece purtroppo '''fribidi''': una libreria che consente il supporto a lingue che si scrivono da destra verso sinistra. Una versione dello script modificata perch&egrave; converta anche fribidi &egrave; reperibile all'indirizzo: [http://www.giustetti.net/resource/script/1337/massconvert32.sh Updated massconvert32.sh]
 +
 
 +
In alternativa la conversione del pacchetto pu&ograve; essere eseguita mediante il comando:
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-13.37/slackware/l/fribidi-0.10.9-i464-2.txz ''-d'' /tmp/compat32/l
 +
 
 +
Un ultimo appunto riguarda l'installazione dei '''driver ATI proprietari'''. Le versioni pi&ugrave; recenti non creano due pacchetti, ma uno soltanto. Inoltre il programma di installazione riconosce in automatico la distribuzione Linux. Sar&agrave; sufficiente selezionare nella schermata di installazione "Generate Distribution Specific Driver Package" e in seguito "Build Package for Detected OS". Il programma lavorer&agrave; in autonomia.
 +
 
 +
 
 +
== Slackware 14.0 ==
 +
 
 +
Il 19 Settembre del 2012 &egrave; stato ufficializzato il rilascio della versione 14.0 di Slackware. Come nel caso della precedente 13.37, la procedura per estendere una distribuzione a 64 bit pura in una multi-libreria non &egrave; cambiata. Di seguito sono elencate le differenze rispetto a Slackware 13.1 e 13.37.
 +
 
 +
I '''pacchetti multi-libreria per Slackware 14.0''' possono essere reperiti al seguente link: [http://connie.slackware.com/~alien/multilib/14.0/ Alien repository]
 +
 
 +
Il pacchetto per le librerie Mesa distribuito con Slackware 14.0 non include libOSMesa. '''LibOSMesa''' &egrave; una libreria utilizzata da WINE per il rendering tramite OpenGL delle immagini bitmap e la sua mancanza potrebbe incidere negativamente sul funzionamento di alcune applicazioni. &Egrave; necessario '''ricompilare Mesa abilitando il supporto a OSMesa'''; per farlo sar&agrave; sufficiente seguire i passi descritti di seguito:
 +
* Copiare la directory '''source/x/mesa''' e tutto il suo contenuto dal DVD di Slackware oppure da un mirror FTP in una directory locale di vostra scelta, ad esempio '''/tmp'''.
 +
* Modificate il file '''mesa.SlackBuild''' con un editor di testo aggiungendo al comando '''configure''' l'opzione '''--enable-osmesa'''. Una patch &egrave; reperibile all'indirizzo: [http://www.giustetti.net/resource/patch/14.0/mesa/mesa.SlackBuild.patch Mesa 8.0.4 patch]. Lanciare il comando '''patch''' ''-p1 -i'' '''<''' mesa.SlackBuild.patch per aggiornare lo script mesa.SlackBuild.
 +
* Lanciate lo script di build con il comando '''sh ./mesa.SlackBuild'''.
 +
* Al termine della compilazione il pacchetto modificato sar&agrave; reperibile nella directory /tmp e potr&agrave; essere sostituito a quello standard mediante il comando '''upgradepkg''' ''--reinstall'' /tmp/mesa-8.0.4-i486-1.tgz oppure '''upgradepkg''' ''--reinstall'' /tmp/mesa-8.0.4-x86_64-1.tgz per Slackware64.
 +
 
 +
Lo script massconvert32.sh &egrave; stato nuovamente aggiornato, ma la nuova versione non converte ancora tutti i pacchetti necessari a WINE. I pacchetti mancanti dall'appello sono: '''fribidi''', '''nettle''', '''p11-kit''' e '''xsane'''. Fribidi &egrave; una libreria che consente il supporto a lingue che si scrivono da destra verso sinistra. Nettle &egrave; una libreria per la crittografia. P11-kit fornisce strumenti per l'installazione e configurazione di moduli PKCS#11. Xsane, infine, &egrave; un'interfaccia grafica per scanner. Una versione dello script modificata perch&egrave; converta anche i quattro pacchetti mancanti &egrave; reperibile all'indirizzo: [http://www.giustetti.net/resource/script/140/massconvert32.sh Updated massconvert32.sh]
 +
 
 +
In alternativa la conversione dei pacchetti pu&ograve; essere eseguita mediante i comandi:
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-14.0/slackware/l/fribidi-0.19.2-i486-3.txz ''-d'' /tmp/compat32/l
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-14.0/slackware/n/nettle-2.5-i486-1.txz ''-d'' /tmp/compat32/n
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-14.0/slackware/n/p11-kit-0.12-i486-1.txz ''-d'' /tmp/compat32/n
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-14.0/slackware/xap/xsane-0.998-i486-2.txz ''-d'' /tmp/compat32/xap
 +
 
 +
'''Accertatevi di aggiornare il pacchetto Mesa a 32 bit prima di eseguire la conversione altrimenti al pacchetto mesa-compat32-8.0.4-x86_64-1compat32.txz mancher&agrave; la libreria libOSMesa'''.
 +
 
 +
 
 +
== Slackware 14.0 e WINE 1.7.0 ==
 +
 
 +
Il 2 Agosto del 2013 &egrave; nato il nuovo ramo di sviluppo 1.7 di WINE. Una nuova dipendenza si &egrave; aggiunta alle esistenti: la libreria [http://www.littlecms.com/ Little CMS] un motore per la gestione dei colori compatto e leggero. Tale pacchetto va ad aggiungersi alla lista dei necessari per far girare WINE su Slackware 14.0.
 +
 
 +
Per la '''versione 32 bit di Slackware''' sar&agrave; sufficiente installare il pacchetto '''lcms2-2.3-i486-1.txz''' reperibile in rete o su un CD / DVD della distribuzione. Per la '''versione 64 bit''' invece &egrave; necessario installare due pacchetti: '''lcms2-2.3-x86_64-1.txz''' e '''lcms2-compat32-2.3-x86_64-1compat32''' ottenuto convertendo il pacchetto a 32 bit.
 +
 
 +
Supponendo che sia stata seguita la procedura sopra descritta, per convertire il pacchetto lcms2-2.3-i486-1.txz &egrave; possibile utilizzare il comando:
 +
  '''convertpkg-compat32''' ''-i'' /mnt/slackiso/slack-14.0/slackware/l/lcms2-2.3-i486-1.txz ''-d'' /tmp/compat32/l
 +
 
 +
 
 +
== Slackware 14.1 ==
 +
 
 +
Il 7 Novembre del 2013 &egrave; stata ufficialmente rilasciata la '''versione 14.1 di Slackware'''. La versione 64 bit &egrave; "multilib ready" e, come le precedenti, pu&ograve; esser facilmente estesa per eseguire programmi e applicazioni a 32 bit. La procedura di installazione dello strato software a 32 bit non &egrave; cambiata rispetto alle precedenti versioni. &Egrave; forse stata semplificata in quanto '''tutte le dipendenze necessarie a WINE sono gestire dallo script massconvert32.sh''', che non necessita di integrazioni. La libreria '''libOSMesa &egrave; stata inclusa nel pacchetto Mesa distribuito con Slackware 14.1''' e neanche questa necessita attivit&agrave; addizionali per funzionare.
 +
 
 +
I '''pacchetti multilibreria per Slackware 14.1''' possono essere scaricati dal seguente link: [http://www.slackware.com/~alien/multilib/14.1/ Alien repository]
 +
 
 +
Una volta scaricati i pacchetti, si pu&ograve; procedere ad installarli sostituendo quelli ufficiali, quindi convertendo ed installando i pacchetti a 32 bit con lo script massconvert32.sh. Al termine dell'operazione Slackware64 14.1 sar&agrave; in grado di eseguire codice a 32 bit come desiderato.
 +
 
 +
 
 +
== Slackware 14.1 Aggiornamento di GStreamer ==
 +
 
 +
GStreamer consiste in una libreria per la lettura di flussi multimediali quali animazioni, filmati o musica. La libreria &egrave; utilizzata da numerosi programmi di lettura e riproduzione multimediale e da molti videogiochi. GStreamer fornisce un insieme base di funzionalit&agrave; che pu&ograve; essere ampliato sviluppando plug-in specifici. Lo script '''massconvert32.sh''' converte la libreria principale ed i plug-in di base, che purtroppo '''non coprono tutti i flussi multimediali leggibili da Slackware ed utilizzati dalle pi&ugrave; recenti versioni di WINE'''. Lo sviluppo di WINE &egrave; in continua evoluzione e con l'aggiunta di nuove funzionalit&agrave; aumentano anche le dipendenze da pacchetti esterni. Al momento di scrivere queste righe sono state riscontrate nuove "dipendenze" per i seguenti pacchetti, che vengono referenziati da WINE attraverso GStreamer:
 +
* aalib-1.4rc5
 +
* cdparanoia-III_10.2
 +
* freeglut-2.8.0
 +
* GConf-3.2.6
 +
* libcaca-0.99.beta18
 +
* libsoup-2.42.2
 +
* libtheora-1.1.1
 +
* libvisual-0.4.0
 +
* taglib-1.8
 +
* udev-182
 +
* wavpack-4.60.1
 +
 
 +
Per la versione '''multi-libreria''' di Slackware Linux dovranno essere installati '''sia i pacchetti a 64 bit che la conversione di quelli a 32 bit''': i pacchetti compat32. Lo script '''massconvert32.sh trascura i pacchetti elencati in precedenza'''. La conversione dei pacchetti dovr&agrave; essere eseguita seguendo la seguente procedura:
 +
* Copiare i pacchetti da un supporto di installazione di Slackware a 32 bit, oppure scaricarli in una directory del proprio computer.
 +
* Creare una directory ove salvare i pacchetti convertiti:
 +
  '''mkdir''' /tmp/compat32
 +
* Convertire i pacchetti mediante il comando '''convertpkg-compat32''' descritto in precedenza:
 +
  '''convertpkg-compat32''' ''-i'' ./aalib-1.4rc5-i486-5.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./cdparanoia-III_10.2-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./freeglut-2.8.0-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./GConf-3.2.6-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libcaca-0.99.beta18-i486-2.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libsoup-2.42.2-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libtheora-1.1.1-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libvisual-0.4.0-i486-3.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./taglib-1.8-i486-2.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./udev-182-i486-7.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./wavpack-4.60.1-i486-1.txz ''-d'' /tmp/compat32/
 +
I pacchetti ottenuti potranno essere installati mediante il comando '''installpkg''':
 +
  '''installpkg'''  /tmp/compat32/*.txz
 +
Al termine dell'installazione sia i pacchetti a 32 bit che il contenuto della directory /tmp/compat32/ potranno essere rimossi senza controindicazioni.
 +
 
 +
 
 +
== Slackware 14.1 e WINE 1.7.24 ==
 +
 
 +
Con la versione 1.7.24 di WINE sono state '''aggiunte alcune dipendenze''' ulteriori per la compilazione del codice sorgente:
 +
* '''libcap''': Una libreria per impostare le funzionalit&agrave; '''POSIX.1e'''.
 +
* '''libnl3''': Un insieme di librerie per gestire il supporto al protocollo '''Netlink'''.
 +
* '''libusb''': Una libreria che consente l'accesso delle applicazioni ai dispositivi USB quali scanner o stampanti.
 +
Se non fossero gi&agrave; presenti sul sistema, alcuni pacchetti devono essere installati per abilitare le relative funzionalit&agrave; di WINE durante la compilazione. L'elenco dei pacchetti per una distribuzione a 32 bit include:
 +
* libcap-2.22-i486-1.txz
 +
* libnl-1.1.4-i486-1.txz
 +
* libnl3-3.2.21-i486-1.txz
 +
* libusb-1.0.9-i486-1.txz
 +
Mentre per una a 64 bit l'elenco consiste di:
 +
* libcap-2.22-x86_64-1.txz
 +
* libnl-1.1.4-x86_64-1.txz
 +
* libnl3-3.2.21-x86_64-1.txz
 +
* libusb-1.0.9-x86_64-1.txz
 +
Per una distribuzione a 64 bit multi libreria dovranno essere installati anche i pacchetti di compatibilit&agrave; a 32 bit. Tali pacchetti possono essere ottenuti a partire da quelli a 32 bit con le procedure descritte precedentemente nell'articolo. Lo script '''massconvert32.sh si occupa di convertire la libreria USB, ma trascura le altre'''. La conversione dei pacchetti dovr&agrave; essere eseguita utilizzando il comando '''convertpkg-compat32''' come mostrato di seguito:
 +
* Copiare i pacchetti da un supporto di installazione di Slackware a 32 bit, oppure scaricarli in una directory del proprio computer.
 +
* Creare una directory ove salvare i pacchetti convertiti:
 +
  '''mkdir''' /tmp/compat32
 +
* Convertire i pacchetti:
 +
  '''convertpkg-compat32''' ''-i'' ./libcap-2.22-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libnl-1.1.4-i486-1.txz ''-d'' /tmp/compat32/
 +
  '''convertpkg-compat32''' ''-i'' ./libnl3-3.2.21-i486-1.txz ''-d'' /tmp/compat32/
 +
* Installare i pacchetti ottenuti nella directory /tmp/compat32/ mediante il comando '''installpkg'''.
 +
  '''installpkg'''  /tmp/compat32/*.txz
 +
Al termine dell'installazione potranno essere rimossi sia i pacchetti che i file temporanei creati durante la conversione.
 +
 
 +
 
 +
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.
 +
 
 +
 
 +
Link esterni
 
----
 
----
* [http://www.winehq.org/ Wine home page]
+
* [http://www.winehq.org/ WINE home page]
 
* [http://www.slackware.org/ Slackware home page]
 
* [http://www.slackware.org/ Slackware home page]
 
* [http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib Pagina dedicata a Slackware multilib di Alien Bob]
 
* [http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib Pagina dedicata a Slackware multilib di Alien Bob]
 
* [http://it.wikipedia.org/wiki/Slamd64 Pagina di Wikipedia dedicata a Slamd64]
 
* [http://it.wikipedia.org/wiki/Slamd64 Pagina di Wikipedia dedicata a Slamd64]
 
  
 
----
 
----
  
Languages: [http://www.giustetti.net/wiki/index.php?title=En/wine_multilib English] - '''Italiano'''
+
{{footer_it | link_page=En/wine_multilib}}

Latest revision as of 13:48, 21 March 2022

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


WINE 64 bit & Slackware

Istruzioni per installare WINE su Slackware64 con il supporto per software a 32 bit.

Con la versione 13.0 Slackware, la distribuzione Linux più vecchia e duratura, ha ufficialmente esteso il supporto all'architettura x86_64 a 64 bit. Come per gli altri port esistenti, anche la nuova Slackware64 è sviluppata su di un tree dedicato e non ha contatti con la versione standard. Slackware 64 è una distribuzione “64 bit only” vale a dire che può far girare esclusivamente software compilato a 64 bit: mancano le librerie di compatibilità per eseguire codice a 32 bit che i processori a 64 bit comunque supporterebbero. Tutto il software normalmente distribuito con la versione ufficiale è ovviamente stato ricompilato per funzionare a 64 bit: Apache, Mysql, Kde, Gimp e molti altri pacchetti ancora; purtroppo però molti pacchetti di terze parti sono tutt'ora disponibili esclusivamente nella versione a 32 bit. Tra questi vale la pena citare WINE, la soluzione più diffusa quando si ha la necessità di eseguire programmi sviluppati esclusivamente per sistemi operativi Microsoft. Nel seguito del presente articolo verrà eseguita una installazione funzionante di WINE con supporto ai 32 bit su Slackware 13.1 a 64 bit.

La procedura di installazione consta dei passi seguenti:

  • Installazione di uno strato di compatibilità ai 32 bit su Slackware64.
  • Configurazione del sistema per il multi-libreria.
  • Selezione ed installazione della versione di WINE più adatta.


Slackware64 Multilib

Il primo passo consiste nell'estendere il supporto di Slackware64 alle librerie ed ai pacchetti compilati a 32 bit. Come anticipato nel paragrafo precedente, il design di Slackware64 è “64 bit only”, ma la distribuzione è anche “Multilib ready” in grado cioè di essere estesa perchè esegua e compili software a 32 bit senza stravolgimenti al sistema. I prerequisiti per eseguire l'operazione consistono nella disponibilità dei pacchetti dell'installazione a 32 bit. Il Dvd ufficiale contiene i pacchetti 32 bit sul lato opposto di quelli a 64. Chi non possiede tale Dvd dovrà invece scaricare l'albero di installazione a 32 bit dalle fonti istituzionali:

Slackware repository

Oltre all'albero di installazione è necessario scaricare alcuni pacchetti specifici per un sistema multi libreria con cui sostituire quelli istituzionali. Si tratta di aggiornare le glibc, la libreria C di Gnu, e il gcc, il compilatore standard Linux, con versioni compilate ad hoc. La fonte da cui reperire suddetti pacchetti è: Alien repository

Si crei una nuova directory vuota e vi si scarichino i pacchetti

  mkdir /tmp/multilib

Per aggiornare il sistema si lanci il comando:

  cd /tmp/multilib
  upgradepkg --reinstall *.t?z
  installpkg compat32-tools*.t?z

Tra i pacchetti installati compat32-tools contiene alcuni strumenti che verranno utilizzati per convertire i pacchetti a 32 bit in versioni adatte ad un sistema a 64 bit multi-libreria. Si proceda alla creazione della directory /tmp/compat32 in cui andremo a generare i pacchetti.

  mkdir /tmp/compat32

Supponiamo che l'albero di installazione di Slackware 32 bit sia disponibile nel percorso /mnt/slackiso/slack-13.1/slackware/. Subito al di sotto di tale directory si troveranno le sottodirectory a/, ap/, d/, l/, ecc.

  root@darkstar:~# ls -la /mnt/slackiso/slack-13.1/slackware/
  total 2920
  drwxr-xr-x 17 4015 4015    1024 2010-05-18 08:57 ./
  drwxr-xr-x 11 4015 4015    1024 2010-05-18 09:04 ../
  -rw-r--r--  1 4015 4015  209001 2010-05-18 08:57 CHECKSUMS.md5
  -rw-r--r--  1 4015 4015  259707 2010-05-18 08:55 FILE_LIST
  -rw-r--r--  1 4015 4015 2334599 2010-05-18 08:57 MANIFEST.bz2
  lrwxrwxrwx  1 4015 4015      15 2008-05-08 04:04 PACKAGES.TXT -> ../PACKAGES.TXT
  -rw-r--r--  1 4015 4015     242 2002-06-13 05:46 README.TXT
  drwxr-xr-x  2 4015 4015   17408 2010-05-18 01:20 a/
  drwxr-xr-x  2 4015 4015   10240 2010-05-16 07:05 ap/
  drwxr-xr-x  2 4015 4015    7168 2010-05-18 18:55 d/
  drwxr-xr-x  2 4015 4015    1024 2010-05-09 05:35 e/
  drwxr-xr-x  2 4015 4015    1024 2010-05-02 02:02 f/
  drwxr-xr-x  2 4015 4015    1024 2010-05-14 21:40 k/
  drwxr-xr-x  2 4015 4015    6144 2010-05-18 04:42 kde/
  drwxr-xr-x  2 4015 4015   16384 2010-05-06 23:09 kdei/
  drwxr-xr-x  2 4015 4015   26624 2010-05-14 21:40 l/
  drwxr-xr-x  2 4015 4015   18432 2010-05-18 01:20 n/
  drwxr-xr-x  2 4015 4015    1024 2010-05-18 01:20 t/
  drwxr-xr-x  2 4015 4015    1024 2009-12-07 03:23 tcl/
  drwxr-xr-x  2 4015 4015   49152 2010-05-14 21:40 x/
  drwxr-xr-x  2 4015 4015    7168 2010-05-17 06:30 xap/
  drwxr-xr-x  2 4015 4015    1024 2010-05-16 07:05 y/

compat32-tools ha installato 2 script di conversione: convertpkg-compat32 e massconvert32.sh. Il primo è utile per convertire singoli pacchetti mentre il secondo è consigliato per eseguire una conversione di massa dei pacchetti di un sistema. Lo script massconvert32.sh contiene una lista dei pacchetti che verranno convertiti. Purtroppo alcuni pacchetti necessari per WINE non fanno parte della lista. Il problema può essere risolto in due modi:

  1. Usando lo script massconvert32.sh standard e quindi lanciando convertpkg-compat32 per i pacchetti mancanti.
  2. Usando una versione modificata del comando che può essere scaricata qui: Updated massconvert32.sh

Si supponga di utilizzare lo script modificato. Procederemo alla conversione attraverso i comandi:

  cd /tmp/compat32
  massconvert32.sh -i /mnt/slackiso/slack-13.1/slackware/

Il comando si occuperà della conversione. La procedura potrebbe richiedere un po' di tempo, ma al termine in /tmp/compat32 saranno disponibili circa 60 Mb di nuovi pacchetti suddivisi nelle directory a/, ap/, d/, l/, ecc.

Si proceda all'installazione dei nuovi pacchetti ottenuti:

  installpkg /tmp/compat32/*/*.t?z

Il sistema così ottenuto sarà in grado di eseguire codice compilato per i 32 bit.

Se avessimo fatto ricorso allo script istituzionale, avremmo dovuto convertire ulteriori quattro pacchetti attraverso il comando convertpkg-compat32. Segue la lista dei quattro pacchetti:

  • /mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz
  • /mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz
  • /mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz
  • /mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz

Si esegua la conversione

  convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/l/libusb-1.0.6-i486-1.txz -d /tmp/compat32/l
  convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/l/libieee1284-0.2.11-i486-2.txz -d /tmp/compat32/l
  mkdir /tmp/compat32/xap
  convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/xap/sane-1.0.21-i486-1.txz -d /tmp/compat32/xap
  convertpkg-compat32 -i /mnt/slackiso/slack-13.1/slackware/xap/xsane-0.996-i486-2.txz -d /tmp/compat32/xap

E si installino quindi i pacchetti con i comandi standard per la gestione dei pacchetti:

  installpkg ./l/libusb*.t?z
  installpkg ./l/libieee1284*.t?z
  installpkg ./xap/sane*.t?z
  installpkg ./xap/xsane *.t?z


Configurazione

Una volta installato le librerie a 32 bit, è consigliato reinstallare i driver della scheda video in modo che usino le librerie a 64 bit per le applicazioni a 64 bit e quelli a 32 per le applicazioni a 32. I pacchetti proprietari forniti dai produttori di schede video dovrebbero contenere sia i driver a 32 che quelli a 64 bit, ma è molto probabile che solo i secondi siano stati installati su Slackware64.

Nel caso di driver ATI proprietari: Si scarichi il pacchetto di installazione dal sito ATI. Si scarichino eventuali patch salvandole nella directory /etc/ati/patch. Si esegua quindi il comando:

  sh ./<file>.run --buildpkg=Slackware/All

Che creerà due pacchetti uno contenente il modulo del kernel ed il secondo contenente le librerie. Si noti che il secondo avrà dimensione circa doppia del normale. Si rimuovano i vecchi pacchetti e si installino i nuovi:

  removepkg /var/log/packages/fglrx-*
  installpkg fglrx*.t?z

Si aggiorni la configurazione del file xorg.conf

  aticonfig --initial

E si proceda quindi al reboot della macchina perchè i nuovi driver vengano caricati all'avvio ed utilizzati dal sistema.

Potrebbe capitare che alcune applicazioni che fanno un uso diffuso della grafica 3-D, i giochi ad esempio, abbiano difficoltà a riconoscere quale versione dei driver utilizzare. I sintomi consistono in un basso frame rate nonostante una configurazione conservativa degli effetti grafici, nel disegno non corretto dei poligoni tridimensionali, nell'apparizione e sparizione delle texture, nella mancata definizione delle ombre o altro ancora. Per ovviare a difetti sopra citati si può imporre alle applicazioni l'impiego dei driver a 32 bit. Per farlo è necessario lanciare da shell il comando:

  export LIBGL=usr/lib/xorg/modules/dri

prima del lancio di WINE.

Per far si che la configurazione venga caricata automaticamente al login è possibile modificare il file .profile nella propria home directory aggiungendo il comando precedente in una riga dedicata.


Installare WINE

Siamo quasi giunti alla fine del viaggio. Una volta che il sistema è multilib compliant tutto quel che serve per far girare software a 32 bit è installarlo. Per usare la versione 32 bit di WINE lo si scarichi dal repository Slackware, WINE download, quindi lo si installi:

  installpkg wine-1.2-rc3-i486-1sg.txz

Tutto il software Windows a 32 bit in grado di girare su di un sistema operativo Slackware a 32 bit dovrebbe funzionare senza problemi anche su Slackware64.

Il pacchetto di WINE a 64 bit wine-1.2-rc3-x86_64-1sg.txz contiene sia i binari a 64 bit che il sottosistema WoW64. WoW64 è l'abbreviazione di Windows on Windows 64. Un sottosistema in grado di far girare binari per Windows a 32 bit su un sistema a 64. Il pacchetto consente di eseguire binari sia a 32 che a 64 bit sfruttando un unico $WINEPREFIX. WoW64 è una delle novità della versione 1.2. Il pacchetto è stabile, ma rilasciato a scopo di test; Si raccomanda l'uso della versione 32 bit di WINE per il quotidiano. Maggiori dettagli circa WoW64 possono essere reperiti dal sito: WineHq.


Slackware 13.37

Il 27 Aprile del 2011 è stato ufficializzato il rilascio della versione 13.37 di Slackware. La procedura per estendere una distribuzione a 64 bit pura in una multi-libreria, in grado cioè di eseguire programmi a 32 bit, è rimasta grossomodo invariata. Di seguito sono elencate le poche differenze rispetto a Slackware 13.1.

I pacchetti multi-libreria per Slackware 13.37 possono essere reperiti al seguente link: Alien repository

Lo script massconvert32.sh è stato aggiornato e la nuova versione converte in automatico anche i quattro pacchetti specifici per il supporto agli scanner sotto WINE. Non converte invece purtroppo fribidi: una libreria che consente il supporto a lingue che si scrivono da destra verso sinistra. Una versione dello script modificata perchè converta anche fribidi è reperibile all'indirizzo: Updated massconvert32.sh

In alternativa la conversione del pacchetto può essere eseguita mediante il comando:

  convertpkg-compat32 -i /mnt/slackiso/slack-13.37/slackware/l/fribidi-0.10.9-i464-2.txz -d /tmp/compat32/l

Un ultimo appunto riguarda l'installazione dei driver ATI proprietari. Le versioni più recenti non creano due pacchetti, ma uno soltanto. Inoltre il programma di installazione riconosce in automatico la distribuzione Linux. Sarà sufficiente selezionare nella schermata di installazione "Generate Distribution Specific Driver Package" e in seguito "Build Package for Detected OS". Il programma lavorerà in autonomia.


Slackware 14.0

Il 19 Settembre del 2012 è stato ufficializzato il rilascio della versione 14.0 di Slackware. Come nel caso della precedente 13.37, la procedura per estendere una distribuzione a 64 bit pura in una multi-libreria non è cambiata. Di seguito sono elencate le differenze rispetto a Slackware 13.1 e 13.37.

I pacchetti multi-libreria per Slackware 14.0 possono essere reperiti al seguente link: Alien repository

Il pacchetto per le librerie Mesa distribuito con Slackware 14.0 non include libOSMesa. LibOSMesa è una libreria utilizzata da WINE per il rendering tramite OpenGL delle immagini bitmap e la sua mancanza potrebbe incidere negativamente sul funzionamento di alcune applicazioni. È necessario ricompilare Mesa abilitando il supporto a OSMesa; per farlo sarà sufficiente seguire i passi descritti di seguito:

  • Copiare la directory source/x/mesa e tutto il suo contenuto dal DVD di Slackware oppure da un mirror FTP in una directory locale di vostra scelta, ad esempio /tmp.
  • Modificate il file mesa.SlackBuild con un editor di testo aggiungendo al comando configure l'opzione --enable-osmesa. Una patch è reperibile all'indirizzo: Mesa 8.0.4 patch. Lanciare il comando patch -p1 -i < mesa.SlackBuild.patch per aggiornare lo script mesa.SlackBuild.
  • Lanciate lo script di build con il comando sh ./mesa.SlackBuild.
  • Al termine della compilazione il pacchetto modificato sarà reperibile nella directory /tmp e potrà essere sostituito a quello standard mediante il comando upgradepkg --reinstall /tmp/mesa-8.0.4-i486-1.tgz oppure upgradepkg --reinstall /tmp/mesa-8.0.4-x86_64-1.tgz per Slackware64.

Lo script massconvert32.sh è stato nuovamente aggiornato, ma la nuova versione non converte ancora tutti i pacchetti necessari a WINE. I pacchetti mancanti dall'appello sono: fribidi, nettle, p11-kit e xsane. Fribidi è una libreria che consente il supporto a lingue che si scrivono da destra verso sinistra. Nettle è una libreria per la crittografia. P11-kit fornisce strumenti per l'installazione e configurazione di moduli PKCS#11. Xsane, infine, è un'interfaccia grafica per scanner. Una versione dello script modificata perchè converta anche i quattro pacchetti mancanti è reperibile all'indirizzo: Updated massconvert32.sh

In alternativa la conversione dei pacchetti può essere eseguita mediante i comandi:

  convertpkg-compat32 -i /mnt/slackiso/slack-14.0/slackware/l/fribidi-0.19.2-i486-3.txz -d /tmp/compat32/l
  convertpkg-compat32 -i /mnt/slackiso/slack-14.0/slackware/n/nettle-2.5-i486-1.txz -d /tmp/compat32/n
  convertpkg-compat32 -i /mnt/slackiso/slack-14.0/slackware/n/p11-kit-0.12-i486-1.txz -d /tmp/compat32/n
  convertpkg-compat32 -i /mnt/slackiso/slack-14.0/slackware/xap/xsane-0.998-i486-2.txz -d /tmp/compat32/xap

Accertatevi di aggiornare il pacchetto Mesa a 32 bit prima di eseguire la conversione altrimenti al pacchetto mesa-compat32-8.0.4-x86_64-1compat32.txz mancherà la libreria libOSMesa.


Slackware 14.0 e WINE 1.7.0

Il 2 Agosto del 2013 è nato il nuovo ramo di sviluppo 1.7 di WINE. Una nuova dipendenza si è aggiunta alle esistenti: la libreria Little CMS un motore per la gestione dei colori compatto e leggero. Tale pacchetto va ad aggiungersi alla lista dei necessari per far girare WINE su Slackware 14.0.

Per la versione 32 bit di Slackware sarà sufficiente installare il pacchetto lcms2-2.3-i486-1.txz reperibile in rete o su un CD / DVD della distribuzione. Per la versione 64 bit invece è necessario installare due pacchetti: lcms2-2.3-x86_64-1.txz e lcms2-compat32-2.3-x86_64-1compat32 ottenuto convertendo il pacchetto a 32 bit.

Supponendo che sia stata seguita la procedura sopra descritta, per convertire il pacchetto lcms2-2.3-i486-1.txz è possibile utilizzare il comando:

  convertpkg-compat32 -i /mnt/slackiso/slack-14.0/slackware/l/lcms2-2.3-i486-1.txz -d /tmp/compat32/l


Slackware 14.1

Il 7 Novembre del 2013 è stata ufficialmente rilasciata la versione 14.1 di Slackware. La versione 64 bit è "multilib ready" e, come le precedenti, può esser facilmente estesa per eseguire programmi e applicazioni a 32 bit. La procedura di installazione dello strato software a 32 bit non è cambiata rispetto alle precedenti versioni. È forse stata semplificata in quanto tutte le dipendenze necessarie a WINE sono gestire dallo script massconvert32.sh, che non necessita di integrazioni. La libreria libOSMesa è stata inclusa nel pacchetto Mesa distribuito con Slackware 14.1 e neanche questa necessita attività addizionali per funzionare.

I pacchetti multilibreria per Slackware 14.1 possono essere scaricati dal seguente link: Alien repository

Una volta scaricati i pacchetti, si può procedere ad installarli sostituendo quelli ufficiali, quindi convertendo ed installando i pacchetti a 32 bit con lo script massconvert32.sh. Al termine dell'operazione Slackware64 14.1 sarà in grado di eseguire codice a 32 bit come desiderato.


Slackware 14.1 Aggiornamento di GStreamer

GStreamer consiste in una libreria per la lettura di flussi multimediali quali animazioni, filmati o musica. La libreria è utilizzata da numerosi programmi di lettura e riproduzione multimediale e da molti videogiochi. GStreamer fornisce un insieme base di funzionalità che può essere ampliato sviluppando plug-in specifici. Lo script massconvert32.sh converte la libreria principale ed i plug-in di base, che purtroppo non coprono tutti i flussi multimediali leggibili da Slackware ed utilizzati dalle più recenti versioni di WINE. Lo sviluppo di WINE è in continua evoluzione e con l'aggiunta di nuove funzionalità aumentano anche le dipendenze da pacchetti esterni. Al momento di scrivere queste righe sono state riscontrate nuove "dipendenze" per i seguenti pacchetti, che vengono referenziati da WINE attraverso GStreamer:

  • aalib-1.4rc5
  • cdparanoia-III_10.2
  • freeglut-2.8.0
  • GConf-3.2.6
  • libcaca-0.99.beta18
  • libsoup-2.42.2
  • libtheora-1.1.1
  • libvisual-0.4.0
  • taglib-1.8
  • udev-182
  • wavpack-4.60.1

Per la versione multi-libreria di Slackware Linux dovranno essere installati sia i pacchetti a 64 bit che la conversione di quelli a 32 bit: i pacchetti compat32. Lo script massconvert32.sh trascura i pacchetti elencati in precedenza. La conversione dei pacchetti dovrà essere eseguita seguendo la seguente procedura:

  • Copiare i pacchetti da un supporto di installazione di Slackware a 32 bit, oppure scaricarli in una directory del proprio computer.
  • Creare una directory ove salvare i pacchetti convertiti:
  mkdir /tmp/compat32
  • Convertire i pacchetti mediante il comando convertpkg-compat32 descritto in precedenza:
  convertpkg-compat32 -i ./aalib-1.4rc5-i486-5.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./cdparanoia-III_10.2-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./freeglut-2.8.0-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./GConf-3.2.6-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libcaca-0.99.beta18-i486-2.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libsoup-2.42.2-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libtheora-1.1.1-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libvisual-0.4.0-i486-3.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./taglib-1.8-i486-2.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./udev-182-i486-7.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./wavpack-4.60.1-i486-1.txz -d /tmp/compat32/

I pacchetti ottenuti potranno essere installati mediante il comando installpkg:

  installpkg  /tmp/compat32/*.txz

Al termine dell'installazione sia i pacchetti a 32 bit che il contenuto della directory /tmp/compat32/ potranno essere rimossi senza controindicazioni.


Slackware 14.1 e WINE 1.7.24

Con la versione 1.7.24 di WINE sono state aggiunte alcune dipendenze ulteriori per la compilazione del codice sorgente:

  • libcap: Una libreria per impostare le funzionalità POSIX.1e.
  • libnl3: Un insieme di librerie per gestire il supporto al protocollo Netlink.
  • libusb: Una libreria che consente l'accesso delle applicazioni ai dispositivi USB quali scanner o stampanti.

Se non fossero già presenti sul sistema, alcuni pacchetti devono essere installati per abilitare le relative funzionalità di WINE durante la compilazione. L'elenco dei pacchetti per una distribuzione a 32 bit include:

  • libcap-2.22-i486-1.txz
  • libnl-1.1.4-i486-1.txz
  • libnl3-3.2.21-i486-1.txz
  • libusb-1.0.9-i486-1.txz

Mentre per una a 64 bit l'elenco consiste di:

  • libcap-2.22-x86_64-1.txz
  • libnl-1.1.4-x86_64-1.txz
  • libnl3-3.2.21-x86_64-1.txz
  • libusb-1.0.9-x86_64-1.txz

Per una distribuzione a 64 bit multi libreria dovranno essere installati anche i pacchetti di compatibilità a 32 bit. Tali pacchetti possono essere ottenuti a partire da quelli a 32 bit con le procedure descritte precedentemente nell'articolo. Lo script massconvert32.sh si occupa di convertire la libreria USB, ma trascura le altre. La conversione dei pacchetti dovrà essere eseguita utilizzando il comando convertpkg-compat32 come mostrato di seguito:

  • Copiare i pacchetti da un supporto di installazione di Slackware a 32 bit, oppure scaricarli in una directory del proprio computer.
  • Creare una directory ove salvare i pacchetti convertiti:
  mkdir /tmp/compat32
  • Convertire i pacchetti:
  convertpkg-compat32 -i ./libcap-2.22-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libnl-1.1.4-i486-1.txz -d /tmp/compat32/
  convertpkg-compat32 -i ./libnl3-3.2.21-i486-1.txz -d /tmp/compat32/
  • Installare i pacchetti ottenuti nella directory /tmp/compat32/ mediante il comando installpkg.
  installpkg  /tmp/compat32/*.txz

Al termine dell'installazione potranno essere rimossi sia i pacchetti che i file temporanei creati durante la conversione.


Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.


Link esterni





Lingue: English - Italiano