ICC in Gentoo einrichten
Als alternativer Closed-Source-Compiler soll hier Intels Compiler-Collection dienen, für die mehrere Ebuilds vorliegen. Ein »emerge -v icc«
installiert die Version 10.0.026, die für den nicht-kommerziellen Gebrauch kostenfrei ist [4]. Die Lizenzen von Intels "C++ Composer XE for Linux" decken auch die älteren in Portage aufgeführten ICC-Versionen ab. Die per E-Mail von Intel erhaltene Lizenzdatei mit Endung ».lic«
speichert der Anwender unter dem manuell anzulegendem Verzeichnis »/opt/intel/licenses/«
.
Nun muss er in die Datei »/opt/intel/cce/10.0.026/bin/icc.cfg«
die Zeile »-idirafter /usr/include/linux«
aufnehmen. Andernfalls tritt beim Kompilieren von Programmen, die die Datei »limits.h«
inkludieren, ein »catastrophical error«
auf. Auch ist es erforderlich, die Gentoo-Datei »/etc/make.conf«
mit Umgebungsvariablen für die ICC erweitern: »ICCCFLAGS="-O2 -xT -ip"«
. Das »-xT«
veranlasst die ICC Code zu erzeugen, der die SSSE3-Einheit des Core 2 Duo heranzieht. Zum Abschluss führt der Admin »env-update«
sowie »source /etc/profile«
aus, um die Umgebungsvariablen an die neuen Gegebenheiten anzupassen.
Lost in Compilation
Dem ersten Impuls, Gentoo nun komplett per »emerge world«
mit ICC zu übersetzen, sollte man nicht nachkommen. Denn die Quellen der Bash, von Sed, Binutils, GCC, Glibc, Ncurses, Libstdc++-v3, Zlib oder Procps enthalten GCC-spezifischen Code. Als Lösung bietet sich an, den Paketmanager über eine manuell anzulegende und mit ausführbaren Rechten versehene Datei »/etc/portage/bashrc«
zu beeinflussen. Der Installationsprozess führt in der genannten Datei vorhandenen Code in jeder Ebuilds-Stufe aus. Auf [5] gibt es entsprechende Code-Beispiele.
Für diesen Artikel reicht es aber, nur die Software mit dem ICC zu übersetzen, die der Benchmark vermessen soll. Der Administrator hinterlegt dazu die mit der ICC zu kompilierenden Programme ohne Versionsnummern, jedoch einschließlich ihrer Portage-Kategorie in der Datei »/etc/portage/bashrc/package.icc«
:
dev-db/postgresql-base dev-db/postgresql-server
Bei allen anderen Programmen nutzt der Installationsprozess GCC weiter. Um die PostgreSQL-GCC-Binarys aus dem System zu kicken, deinstalliert der Admin jetzt »postgresql-base«
sowie »postgresql-server«
und installiert sie gleich wieder. Nun übersetzt die ICC die Datenbank.
Um noch einen weiteren Benchmark-Vergleichswert zu erheben, installierten die Tester in der Folge noch die in Portage eingetragene, als instabil gekennzeichnete ICC-Version 11.1.072-r1 (Abbildung 2). Der Befehl »autounmask >= dev-lang/icc-11.1.072-r1«
kennzeichnet die instabile Version intern als installierbar und ermöglicht so das Ausprobieren. Die Sourcen haben übrigens eine beachtliche Größe: 770 MByte. (Inoffizielle 12er-Versionen der ICC für Gentoo gibt es übrigens auch bereits [6].)
Egal, ob man Programmpakete mit der stabilen oder der instabilen ICC kompiliert, linkt der Compiler den Code dynamisch gegen ICC-Bibliotheken. Das will dann beachtet sein, wenn der Administrator die ICC wieder deinstalliert: Denn nun finden die Binarys ihre Bibliotheken nicht mehr – das Neuübersetzen mit der GCC steht somit an.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 3 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





