Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Anmerkung: Letzte gültige Version des Artikels ist auf Ubuntu 9.10 Karmic Koala bezogen.
Der Intel C++ Compiler ist ein Compiler für die Programmiersprachen C und C++ und für nicht-kommerzielle Projekte kostenlos. Der Compiler erzeugt teilweise schnelleren Code als der GCC und bietet Optimierungen mit zusätzlichen Prozessoranweisungen wie MMX, SSE, SSE2 und SSE3. Allerdings können nicht alle Pakete einwandfrei mit dem ICC kompiliert werden, er kann den GCC also nicht vollständig ersetzen. Auch funktionieren mit dem ICC erzeugte Binärdateien nur auf Systemen, auf denen der ICC auch installiert ist. Für zur Weitergabe bestimmte Binärdateien sollte man daher den GCC bevorzugen, der auf jedem Linux-System vorhanden ist.
Installiert[1] werden müssen die folgenden Pakete:
g++
build-essential
libstdc++5 [1])
ia32-libs (nur für amd64)
openjdk-6-jre-headless (optional für graphischen Debugger)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install g++ build-essential libstdc++5 ia32-libs openjdk-6-jre-headless
sudo aptitude install g++ build-essential libstdc++5 ia32-libs openjdk-6-jre-headless
Speziell für amd64 unter karmic:
Es wird neben der 64-bit-Version auch die 32-bit-Version von libstdc++5 benötigt. Dazu hier oder hier beide Versionen (amd64 und i386) herunterladen. Die 64-bit-Version normal installieren (die Bibliothek wird in /usr/lib installiert). Nun die 32-bit-Version nicht installieren, sondern deb-Paket entpacken und die Bibliothek (libstdc++.so.5.0.7) manuell nach /usr/lib32 kopieren. Nun noch in /usr/lib32 einen [ln:symbolischen Link] libstdc++.so.5 auf libstdc++.so.5.0.7 erstellen.
Auf dieser Intel Seite Intel® C++ Compiler for Linux* kann der Compiler heruntergeladen werden. Es wird eine gültige E-Mail Adresse benötigt, zu der dann eine Lizenzdatei/Lizenznummer geschickt wird. Die Lizenzdatei befindet sich dann im Anhang der empfangenen E-Mail. Die Heruntergeladene Datei hat den Namen wie l_cc_p_10.1.018_ia32.tar.gz (Version 10.1.018 für i386) oder l_cproc_p_11.1.059_intel64.tgz (Version 11.1.059 für amd64) wobei die Versionsnummer durchaus anders lauten kann.
Die Versionsnummer kann im Folgenden bei neueren Versionen abweichen und musst dann entsprechend geändert werden.
Das gleiche gilt für den Namen der Lizenzdatei und den Platzhalter user
für den Benutzernamen.
Zuerst muss das heruntergeladene Archiv entpackt werden [4]. Dann wechselt man über das Terminal [2] in den neu erschienenen Ordner, der idealerweise den gleichen Namen trägt wie das Archiv. Wurde das Archiv z.B. auf dem Desktop entpackt, dann lautet der Befehl
cd /home/$USER/Desktop/l_cc_p_10.1.018_ia32
bzw.
cd /home/$USER/Desktop/l_cproc_p_11.1.059_intel64
Starte das Installationsscript mit
sudo ./install.sh
Den Anweisungen folgen; dabei wird der Lizenzschlüssel verlangt.
Die mögliche Warnmeldung "Detected operating system Debian* (generic) is not supported" kann man übergehen.
Dann kann man das RPM-Paket mit Alien konvertieren [5] und das generierte Paket installieren [6].
Anschließend braucht man noch die Lizenzdatei aus dem Anhang der E-Mail von Intel. Diese lädt man herunter auf den Desktop und kopiert sie mit Root-Rechten in ein neues Verzeichnis /opt/intel/licenses.
sudo mkdir /opt/intel/licences sudo mv /home/user/Desktop/NCOM_L_CMP_CPP_NZCR-5E5KJKHP /opt/intel/licences
Nun müssen noch drei Dateien einzeln mit einem Texteditor [3] geöffnet werden. Die Dateien findet man unter folgenden Pfaden:
/opt/intel/cc/10.1.018/bin/icc
/opt/intel/cc/10.1.018/bin/icpc
/opt/intel/cc/10.1.018/bin/iccvars.sh
Bei icc und icpc muss am Anfang des Textes <INSTALLDIR>/licenses bit
entfernt werden und dafür /opt/intel/licenses
eingetragen werden.
Bei beiden Dateien sollte der Text oben dann so aussehen:
#!/bin/bash if [ -z "${INTEL_LICENSE_FILE}" ] then INTEL_LICENSE_FILE="/opt/intel/licenses:${HOME}/intel/licenses:/Users/Shared/Library/Application Support/Intel/Licenses"; else INTEL_LICENSE_FILE="${INTEL_LICENSE_FILE}:/opt/intel/licenses:${HOME}/intel/licenses:/Users/Shared/Library/Application Support/Intel/Licenses"; fi
Danach durchsucht man den Text nach <INSTALLDIR>
und ersetzt es jedes mal mit /opt/intel/cc/10.1.018
.
Jetzt müssen noch zwei Umgebungsvariablen hinzugefügt werden, damit der Compiler die Binaries und Libraries findet. Die Umgebungsvariablen werden in einer Datei in /etc/profile gespeichert. Es müssen daher diese beiden Verzeichnisse eingetragen werden.
sudo echo PATH=\$PATH:/opt/intel/cc/10.1.018/bin >> /etc/profile sudo echo PATH=$PATH:/opt/intel/cc/10.1.018/lib >> /etc/profile
Anschließen müssen noch die Libraries registriert werden. Dazu öffnet man die Datei /etc/ld.so.conf.d/icc.conf und trägt eine Zeile ein: /opt/intel/cc/10.1.018/lib/
und macht mit dem folgenden Befehl im Terminal die Änderungen wirksam.
sudo ldconfig
Ruft man den Compiler im Terminal mit
icc --version
auf, so sollte die Ausgabe etwa so aussehen:
icc (ICC) 10.1 20080801 Copyright (C) 1985-2008 Intel Corporation. All rights reserved.
Für C Programme ruft man den Compiler mit icc
auf, für C++ Programme mit icpc
. Versucht man icc mit einem C++ Programm aufzurufen, wird manchmal automatisch der C++ Compiler aufgerufen.
Diese Revision wurde am 29. Dezember 2011 15:30 von Heinrich_Schwietering erstellt.