суббота, 27 февраля 2010 г.

Установка ICC 11.1 на клиенте Ubuntu 9.10

Интеловский компилятор становится все более и более популярным среди линуксоидов, и, мол, хорошо оптимизирует для родных процов. Вот и я решил посмотреть, что это за зверь, поскольку процессоры AMD не юзаю, использую только Intel.

Установка на Ubuntu- это вам не кнопки нажимать. Никаких "sudo apt-get install icc". Интел постарался усложнить жизнь по максимуму, хотя пересобирать из исходников ничего не придется. Вот тут расписано (по-английски) что и как надо сделать для установки на 32- и 64-х битные Ubuntu 9.10 и на старые версии ОС. Также, указано, какую Java скачать/установить для графического дебаггера IDB. Я тут кратко изложу про 32-х битную Ubuntu 9.10 только в плане компилятора, до дебаггера пока руки не дошли.

Во-первых, надо установить вот что (занятно, для установки готового компилятора нужен GCC):
  • gcc
  • build-essential
  • g++
  • rpm
Потом надо установить старую библиотеку The GNU Standard C++ Library V3 из репов Lenny. На открывшейся странице скачиваем deb-пакет с libstc++5 для i386 и устанавливаем с помощью GDebi.

Затем надо скачать собственно ICC 11.1, для чего надо его сначала найти, вот ссылка. После подтверждения лицензии, откроется страница для скачивания, надо только кликнуть на нужный компилятор, и зарегистрироваться. Золотой ключик переписывать с экрана не обязательно, он должен прийти по мылу, как и адрес, где можно наконец-то скачать вожделенный компилятор (700 Mb с хвостиком).

Далее, скаченный архив надо распаковать. Затем, в консоли перейти в поддиректорию с файлами компилятора и запустить install.sh. В процессе надо будет выбрать, как устанавливать- для всех пользователей или только для текущего, еще раз принять лицензионное соглашение, затем указать, куда ставить.

После того, как компилятор установился, надо запустить скрипт для установки переменных среды. В моем случае это
$ source ~/intel/Compiler/11.1/069/bin/iccvars.sh ia32

Проверяем, что компилятор установлен:
$ icc --version

Да, для компиляции C++ надо вызывать icpc. icc- это для С.

HTML документация:
~/intel/Compiler/11.1/069/Documentation/en_US/documentation_c.html

2 комментария:

  1. Интересно, зачем нужны build-essential и rpm?

    У меня раньше и без них устанавливалось =)

    Только вот в Ubuntu 10.04 компилятор ICC(11.1.073)никак не хочет компилировать, жалуется, что в хедерах испольозуются rvalue references, которые ещё не реализованы(

    /usr/local/include/c++/4.4.1/type_traits(135): catastrophic error: rvalue references not yet implemented { typedef _Tp&& type; };

    Как бороться с этим - ума не приложу(

    ОтветитьУдалить
  2. Да я уже не помню зачем build-essential. Идея была собрать Qt и Qt Creator этм компилятором. Кончилось тем, что WebKit не захотел компиляться, а поддержка WebKit'а проблему признала, но разбираться не стала. После чего интерес к ICC у меня пропал. Ну нету времени бодаться с исходниками всего на свете.

    ОтветитьУдалить