PDA

Visualizza la versione completa : Installazione compilatore Intel (icc) su Slackware


wolf64
12-09-2005, 12:19
In questo periodo sto provando alcuni compilatori C/C++, oltre al classico gcc, in versione 3.3.6, l'ultima versione che installa la Slackware Current, ho installato il TinyCC, il gcc 4.0.1, configurato in modo da poterlo usare tenendo però il gcc di default nel sistema, e il compilatore icc della Intel, quest'ultimo è a pagamento, però si può scaricare la versione free per usi non commerciali.

Quanto seguirà sarà la descrizione dell'installazione del gcc, ovvero il compilatore Intel C/C++ sulla Slackware, e si rifà alla mia esperienza in questo senso.

La pagina del compilatore è la seguente:
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/clin/index.htm
invece dalla pagina sottostante potrete, tramite un percorso di una semplice registrazione, scaricare la versione free:
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/clin/219856.htm
dalla pagina precedente a quest'ultima potrete anche trovare altre cose tipo lo stesso compilatore per il fortran:
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/clin/219771.htm

Nel procedimento di registrazione/download ci arriverà anche una mail all'indirizzo indicato nella stessa registrazione che conterrà in allegato un file con estensione .lic e che riguarda la licenza d'uso, senza questo file il compilatore non funziona.
Oltre a questo file verrà scaricato anche l'archivio compresso contenente il compilatore, il debugger, la documentazione, ecc, ecc, il nome del file corrispondente all'ultima versione disponibile in questo momento è: l_cc_p_9.0.021.tar.gz.

Lo scompattiamo, non dimenticatevi di leggere, prima di partire con l'installazione, alcuni file contenuti nella directory quali clicense, Disclaimer.txt, ReleaseNote.txt e INSTALL.htm, soprattutto il primo, clicense, questo per motivi legali legati all'accettazione della licenza, non eseguendo lo script di installazione incluso, che vi presenterebbe la licenza d'uso per un'accettazione prima dell'installazione e dell'uso, dovrete leggervela direttamente negli appositi file.

Fatto questo entriamo nella directory che si è creata, se la nostra distribuzione si basasse sul formato rpm dei pacchetti a poco servirebbe questo piccolo tutorial, basterebbe l'ottimo articolo sul numero di Linux Pro n.30 di questo mese, da cui ho tratto l'ispirazione per provare questo compilatore, articolo a cui mi rifarò per conoscere poi meglio questo compilatore e a cui rimando volentieri coloro che stanno leggendo, ma nel nostro caso anche se rpm è comunque installato nel sistema, non è il sistema di pacchettizzazione principale, affidarci agli script di installazione ci porterebbe ad un clamoroso fallimento, anche impostando l'opzione --force.

Analizzando gli stessi script ho notato che si potrebbe usare anche cpio e rpm2cpio, ma alla fine noi usiamo Slackware, e siamo abituati ad arrangiarci "a manina" e a fare a meno di certi automatismi (parlo dell'automatismo dello script di installazione e non dell'uso specifico di cpio), perciò così faremo anche in questo caso, e alla fine il nostro compilatore funzionerà come si deve! ;)

Nella directory scompattata troveremo i pacchetti rpm, quelli che ci interesseranno saranno quello del compilatore, quello degli headers e quello del debugger, scegliendo i pacchetti che rispecchiano l'architettura del nostro processore, nel mio caso e seguendo l'ordine sopra descritto, i pacchetti sono:

intel-icc9-9.0-021.i386.rpm
intel-isubh9-9.0-021.i386.rpm
intel-iidb9-9.0-026.i386.rpm

Creiamo dagli rmp i tgz con ciò che la buona e vecchia Slack ci mette a disposizione, e cioè rpm2tgz, perciò con "rpm2tgz nome-pacchetto.rpm" ci ritroveremo i nostri tre tgz.
Li installiamo con il solito installpkg.

La prima parte è fatta, ci ritroveremo la nuova directory /opt/intel, per prima cosa dovremo creare all'interno di intel una subdirectory oltre a cc e idb che troveremo già create dall'installazione dei pacchetti, il nome dovrà essere "licenses".
All'interno di questa directory dovremo copiare il file di licenza, quello che Intel ci avrà mandato in allegato, con l'estensione .lic.
Se, come immagino, vorremo usare il compilatore non solo da root dovremo dargli i permessi di lettura per tutti con un "chmod +r *.lic".

A questo punto ci aspetta un po di lavoro di editor, dovremo editare i seguenti file (tenete presente che i percorsi sotto riportati corrispondono alla versione di icc 9.0, ovviamente va adattato nel caso si usino altre versioni):

/opt/intel/cc/9.0/bin/icc
/opt/intel/cc/9.0/bin/iccvars.sh
/opt/intel/cc/9.0/bin/icpc

sostituiamo tutte le occorrenze di
<INSTALLDIR>
con
$INSTALLDIR

se usiamo Vim potremo fare questo con un semplice comando per tutto il file che stiamo editando con
:%s/<INSTALLDIR>/$INSTALLDIR/g

dopodichè all'inizio dei file, sotto #!/bin/sh, scriviamo la seguente riga:
INSTALLDIR="/opt/intel/cc/9.0"

Fatto questo dobbiamo ripetere un'operazione simile per il file /opt/intel/idb/9.0/bin/idbvars.sh,
però in questo caso la stringa che passeremo alla variabile INSTALLDIR sarà quella corrispondente al debugger:
INSTALLDIR="/opt/intel/idb/9.0/bin"

Do per scontato che si usi bash come shell, ci sono comunque anche dei file con estensione .csh per chi usa quest'altra shell, nel mio caso non li ho modificati.

A questo punto l'installazione è sostanzialmente terminata, dovremo usare però un sistema per poter disporre del compilatore da una console senza doverlo richiamare continuamente con tutto il percorso, lo stesso dicasi per la disponibilità dei manuali, potremo seguire la strada consigliata da Intel, che è quella di integrare il percorso rispettivamente in PATH e MANPATH, in questo caso ci verranno in aiuto alcuni degli script che abbiamo modificato prima, così dalla console dalla quale ci interesserà lavorare con icc potremo lanciare i seguenti:
source /opt/intel/cc/9.0/bin/iccvars.sh
source /opt/intel/idb/9.0/bin/idbvars.sh

Potremo anche rendere permanenti queste inclusioni, o per un singolo utente o per tutti, penso che se state leggendo questo piccolo tutorial sull'installazione di un compilatore C/C++ siate in grado di farlo da soli! ;)

Io ho integrato l'uso del compilatore e dei manuali nel sistema a modo mio, con un sistema alternativo a quello proposto da Intel, però non ho ancora iniziato a sperimentare icc, a parte la compilazione di alcuni piccoli file per una prima verifica di funzionamento, pertanto non so ancora se questa mia soluzione va bene o è incompleta, vedete voi, di sicuro quella di Intel è più sicura, comunque, ho creato dei link a icc, icpc e idb in /usr/bin, però in questo caso bisogna indicare un percorso differente alla variabile DIR nel file /opt/intel/idb/9.0/bin/idb:
DIR="/opt/intel/idb/9.0/bin"
Ho poi copiato tutti i man nelle rispettive directory in /usr/man.
Non ho fatto nient'altro, però tenete presente che questa mia "fine installazione personalizzata" è in parte finalizzata anche all'aver creato un pacchetto tgz che fa tutto il lavoro di installazione e ovviamente mi ripulisce il tutto nel caso che decida di disinstallare o upgradare il compilatore, pacchetto che tra l'altro non potrei redistribuire per questioni legate alla licenza, la quale deve essere univoca in base alla registrazione fatta sul sito Intel, però spero di avervi dato un buon spunto nel caso decidiate di seguire una strada simile alla mia.

Beh, buon divertimento! :)
Wolf

wolf64
12-09-2005, 18:33
Faccio un paio di up nel caso questo topic interessi a qualcuno, questo è il primo.

Loading