Bernd
Pol

# Установка &kdevelop;

В этой главе описаны все этапы сборки и установки &kdevelop;:

- Как получить &kdevelop; содержит информацию по загрузке последней версии &kdevelop; в виде исходников из CVS.

- Требования — список программ и библиотек, необходимых при компиляции &kdevelop;.

- Сборка и установка проведёт вас через все этапы компилирования и установки &kdevelop;.

- Где взять &API;-документацию рассказывает что такое API и как вам получить удобный инструмент для навигации по исходникам &kdevelop;.

## Как получить &kdevelop;

&kdevelop; доступен в собранном виде во многих дистрибутивах &Linux;, таких, как SuSE, ASPLinux, Mandrake и других, чаще всего в виде пакета RPM, для упрощения процесса установки.

Также вы можете загрузить исходники &kdevelop;, собрать и установить их самостоятельно: http://www.kdevelop.org или ftp-сервер &kde;.

### Получение ежедневных снимков &kdevelop; из &CVS;

Доступен анонимное &CVS;-хранилище: имя модуля — kdevelop на `:pserver:anonymous@anoncvs.kde.org:/home/kde`.

#### Первоначальная загрузка файлов (checkout)

Для получения версии &kdevelop;, загрузите его с анонимного &CVS;. Эта операция называется checkout.

Далее подразумевается, что исходники &kdevelop; расположены в каталоге `~/kde3src`.

- # Создаём конечный каталог, если необходимо:
- ~> `mkdir kde3src`
- ~> `cd kde3src`
- ~/kde3src> `cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde co kdevelop`
- ~/kde3src> `cd kdevelop`

После полной загрузки исходных файлов &kdevelop; из &CVS;, вы можете постоянно иметь их последние версии путём обновления, что и описано в следующем разделе.

Пожалуйста, не загружайте каждый раз все файлы заново! Это приводит к большой загруженности нашего сервера.

Теперь вы можете скомпилировать &kdevelop;, как показано в секции Сборка и установка &kdevelop;.

#### Поддержка локальной &CVS;-копии

После успешной загрузки (и сборки) &kdevelop; из CVS, можно поддерживать вашу локальную копию исходников в соответствии с &CVS;, чтобы, например, сразу иметь доступ ко всем новым функциям и исправлениям ошибок. Для этого (опять же таки предполагается, что исходники &kdevelop; расположены в каталоге `kde3src`):

Обратите внимание на использование ключа `up` (update) вместо `co` (checkout).

- ~> `cd kde3src`
- ~/kde3src> `cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde up kdevelop`
- ~/kde3src> `cd kdevelop`

Следите за сообщениями &CVS; в процессе обновления, т.к. от этого зависят конкретные шаги сборки.

После обновления исходников &kdevelop;, его нужно собрать как описано в главе Нюансы сборки из &CVS;.

## Требования &kdevelop;

Для успешной сборки и последующего использования &kdevelop;, необходимо установить следующие программы и библиотеки. Обычно они поставляются с дистрибутивами, а значит установить их можно просто.

### Требуется:

- gcc/g++ ≥ 2.95.3 (или совместимый)

  Официальный сайт: gcc.gnu.org

- &GNU; make (или совместимый)

  Официальный сайт: www.gnu.org/software/make

- &perl; 5.004 (и вышн)

  Официальный сайт: www.perl.com

- autoconf ≥ 2.52 (и выше)

  Официальный сайт: www.gnu.org/software/autoconf

- automake ≥ 1.6 (и выше)

  Официальный сайт: www.gnu.org/software/automake

- flex 2.5.4 (и выше)

  Официальный сайт: www.gnu.org/software/flex

- &Qt; ≥ 3.0.3 (и выше)

  Официальный сайт: www.trolltech.com/products/qt

- KDE ≥ 3.0.2 (и выше)

  Официальный сайт: www.kde.org

### Необязательно:

- Средство навигации по исходным кодам ctags, с http://ctags.sourceforge.net, добавляющее быстрое обращение к декларациям и определениям несколькими щелчками мыши на имени в редакторе.

- dot, генератор изображений, с http:/www.graphviz.org. Он нужен для &doxygen;, чтобы наглядно отображать классовую иерархию.

- Средство документирования &doxygen;, с http://www.doxygen.org, с помощью которого вы сможете сгенерировать сжатую и мощную документацию API-функций вашего проекта

- valgrind с http://developer.kde.org/~sewardj/ поможет найти утечки памяти в вашем приложении.

- CVS с http://www.cvshome.org для использования системы конкурирующих версий &CVS;.

- Любой другой компилятор и/или инструмент если вы разрабатываете ПО на языке/платформе, отличных от C++/&kde;.

1. Вы можете обойти требования &autoconf; ≥ 2.52 и &automake; ≥ 1.6. Просто удалите подкаталог `admin` в установочном каталоге &kdevelop; и введите

   - (каталог-kdevelop)> `ln -s $KDEDIR/share/apps/kdelibs/admin admin`

   в консоли. При этом &kdevelop; будет использовать стандартные настройки в &kde;-каталоге `admin` .

2. Убедитесь, что вы не смешиваете разные версии &Qt;. Всегда направляйте &kdevelop; на версию &Qt;, с которой была собрана библиотека &kde;. Иначе вы можете получить очень странное поведение программы.

## Сборка и установка &kdevelop;

После удовлетворения всех требований, вы можете приступить к сборки и установке &kdevelop;. В приложении описаны необходимые для этого действия.

- Подготовительные шаги содержит инструкции по установке окружения.

- Сборка &kdevelop; расскажет как получить исходники &kdevelop; из &cvs;, подготовить их, компилировать и установить.

- Примечания по ключам `configure` — как запускать &kdevelop;, установленный не в общий каталог &kde;.

### Подготовительные шаги

Перед переходом к сборке, убедитесь, что все библиотеки и инструменты доступны сборочной (make) системе. Для достижения этого, нужно правильно выставить переменные окружения. Шаги, которые следует выполнить при этом, зависят от используемой оболочки ("shell").

Чтобы не вводить все необходимые операторы по определению переменных окружения каждый раз, вы можете записать их в `.bashrc` или `.cshrc`. таком образом переменные будут устанавливаться в нужное значение каждый раз при входе в систему.

#### Настройка окружения в оболочке BASH

Если вы используете bash, добавьте в её конфигурационный файл такие строки:

- `export KDEDIR=`(путь к KDE)
- `export QTDIR=`(путь к библиотеке Qt)
- `export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH`
- `export LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH`
- `export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH`

#### Настройка окружения для оболочки TCSH

Если вы используете tcsh, добавьте в её конфигурационный файл такие строки:

- `setenv KDEDIR` (путь к KDE)
- `setenv QTDIR` (путь к библиотеке Qt)
- `setenv LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH`
- `setenv LIBRARY_PATH $QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH`
- `setenv PATH $QTDIR/bin:$KDEDIR/bin:$PATH`

### Сборка &kdevelop;

Далее подразумевается, что исходники &kdevelop; расположены в каталоге `~/kde3src/kdevelop`.

#### Особенности сборки из &CVS;

Если вы собираете &kdevelop; со снимка &CVS;, начальные шаги сборки зависят от того, загрузили ли вы все файлы вновь (checkout), или обновили загруженные ранее (update).

После CVS-checkout

  Запустите сборочную систему:

  - ~/kde3src/kdevelop> `make -f admin/Makefile.common cvs-clean`

  и выполните все следующие шаги.

  Если в исходниках есть повреждённые или нет некоторых файлов, нужно будет сделать восстановление через &CVS;.

  Выполните команду `cvs-clean` чтобы удалить все файлы, не имеющие соответствия в хранилище &CVS;.

После обновления CVS

  Следующий шаг зависит от вывода команды обновления &CVS;. Если в нём было что-то типа (слева может быть U или P - и то и то означает изменение файла):

      U /some_directory_path/Makefile.am

  или, после полной загрузки (checkout), введите:

  - ~/kde3src/kdevelop> `make -f Makefile.cvs`

  перед продолжением выполнения всех следующих шагов.

#### Команды сборки `make`

Теперь вы должны решить, какую систему &kdevelop; вы хотите использовать. Следующий шаг состоит из генерирования файлов `Makefile`, который будет использоваться командой `make`.

Вы можете убрать ключ `--prefix` в следующих строках `configure`, в этом случае &kdevelop; будет установлен в каталог &kde;. Для подробностей см. Примечания по ключам `configure`.

Версия с отладочной информацией

  Если вы хотите следить, за тем, &kdevelop; делает во время выполнения, выберите версию с отладочной информацией. Просто укажите сценарию `configure` сделать так:

  - ~/kde3src/kdevelop> `./configure --enable-debug=full --prefix=`(путь-к-kde3)
Финальная версия

  Если вы хотите просто использовать &kdevelop; как есть (с меньшим размером и более быстрой работой), оставьте в `configure` значения по умолчанию.

  - ~/kde3src/kdevelop> `./configure --prefix=`(путь-к-kde3)

  Если вы хотите собрать API-документацию для &kdevelop; самостоятельно, вам нужно указать ключ в команде запуска `configure`:

  - ~/kde3src/kdevelop> `./configure --`(такие-же-ключи) `\`
  - `--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs`
Make и install

  Сценарий `configure` проверит систему и создаст `Makefile`, который будет использовать команда `make`.

  - ~/kde3src/kdevelop> `make`

  Далее войдите в систему под правами суперпользователя:

  - ~/kde3src/kdevelop> `su`

  Установите программу:

  - ~/kde3src/kdevelop> `make install`

  Если &kdevelop; установлен в главный каталог &kde;, вы можете сразу запустить IDE. Иначе — потребуются некоторые дополнительные шаги. Для подробностей см. Нестандартный каталог установки.

  На самом деле будут установлены три приложения:

  - &kdevelop; IDE — программная среда, в которой вы обычно работаете.

  - &kdevelop; Assistant — автономный просмотрщик документации, предоставляющий всю функциональность соответствующего модуля &kdevelop; IDE.

  - &kdevelop; Designer — расширение &Qt; Designer, добавляющее специфические для &kde; элементы и интегрирующее его в &kdevelop; IDE.

### Примечания по ключам `configure`

#### Нестандартный каталог установки

По умолчанию IDE устанавливается в каталог &kde;. Это необходимо &kdevelop; требуется прямой доступ к некоторым утилитам и модулям, расположенным в этом каталоге. Чтобы использовать другой каталог для установки, укажите в сценарии `configure` ключ `--prefix`:

- ~/kde3src/kdevelop> `./configure --prefix=`(путь-к-kde3)

И всё же устанавливать программу в другой каталог не рекомендуется. Конечно, вы можете сделать это, но тогда вы получите очень ограниченную функциональность.

Перед запуском &kdevelop;, выполните следующие команды из командной строки:

Обратите внимание на множественную форму: `KDEDIRS`, а не `KDEDIR`)

- ~> `export KDEDIRS=/usr/local/kde:/opt/kde3`
- ~> `kbuildsycoca`
- (Теперь запустим &kdevelop;:)
- ~> `kdevelop`

- Переменная окружения `KDEDIRS` должна содержать список активных каталогов &kde; вашей системы. Обычно это
- `/usr/local/kde`:`/opt/kde3`
- однако в вашей системе это могут быть другие каталоги.
- Каталог `/usr/local/kde`, например, может содержать неполную версию &kde;, которую вы скомпилировали для отладки, а `/opt/kde3` - версию &kde; из вашего дистрибутива.

в оболочке tcsh определение переменных окружения происходит таким образом:

- ~> `setenv KDEDIRS /usr/local/kde:/opt/kde3`

Команда `kbuildsycoca` (build system control cache) выполняет поиск библиотек и записывает их размещение и версию в кэш, чтобы &kdevelop; смог их найти. Это займёт некоторое время - и это нужно выполнять каждый раз перед запуском &kdevelop; из оболочки, если вы установили программу в нестандартный каталог. Конечно, из этих команд можно составить сценарий и запускать только его.

(кроме того можно дополнить файлы `.bashrc` или `.cshrc`, но это не желательно, т.к. команда будут выполняться при каждом входе в консоль.)

Команду `kbuildsycoca` не нужно выполнять с правами суперпользователя. И вообще, заниматься разработкой под root не очень хорошая идея!

## Где взять API-документацию &kdevelop;

API — сокращение от Application Program Interface (программный интерфейс приложения). Он являет собой набор описаний, по которым приложение обращается к операционной системе и другим службам. API приложения &kde; или &Qt; — собрание интерфейсов классов и методов, которые используются для навигации по исходникам программы.

Последняя версия API-документации находится на домашней странице KDevelop. Она обновляется каждые 24 часа.

Чтобы собрать собственную API-документацию из исходников &kdevelop;, нужно указать где искать API KDELIBS ключом `--with-kdelibsdoxy-dir` сценария `configure`:

- ~/kde3src/kdevelop> `./configure --`(options-as-usual)`\`
- `--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs`

(`make` заменит глобальную переменную `$KDEDIR` на каталог, где установлен &kde;). Затем запустите `make` как обычно. После сборки &kdevelop;, можно также собрать документацию API. Для этого выполните

- ~/kde3src/kdevelop> `make apidocs`

Это создаст `Doxyfile` в базовом каталоге &kdevelop;, который нужно передать на обработку программе Doxygen. Это приведёт к созданию большого количества файлов `.html` и займёт некоторое время (до часа на медленных машинах). После окончания процесса сборки, нужно установить документацию. Зарегистрируйтесь в системе как суперпользователь

- ~/kde3src/kdevelop> `su`

Затем:

- ~/kde3src/kdevelop> `make install-apidox`

После этого, `make` сообщит каталог, где вы сможете просматривать документацию API.

Возможно вы увидите большое количество предупреждений и/или сообщений об ошибках в процессе сборки документации API программой Doxygen. Они представляют интерес только для разработчиков &kdevelop;. Если всё пройдёт нормально, файлы `.html` будут доступными для чтения.