Компиляция SAMS по шагам (для новичков)

Введение

SAMS поставляется в двух вариантах:

  • Исходных текстах
  • Собранных пакетов для различных дистрибутивов

Данная статья посвящена процессу компиляции SAMS из исходных текстов. Статья предназначена для людей которые не имели опыта сборки программ из исходных текстов в GNU/Linux или столкнулись с проблемами в процессе компиляции SAMS.

Процесс компиляции

Я предполагаю что вы уже скачали свежую версию SAMS, распаковали её в некоторую директорию и находитесь в этой директории.

Configure

Назначение: В различных дистрибутивах используются различные места для хранения заголовочных файлов (.h файлов), библиотек а также некоторые необходимые библиотеки не установлены. Скрипт configure при своем выполнении проверяет подобные моменты и различия для различных дистрибутивов и на основании собранной информации формирует Makefile, который используется на следующих шагах для компиляции программы.

Типичные ошибки

Не найдены заголовочные файлы MySQL
checking for MYSQL headers... using mysql includes from /usr/include/mysql
checking for <mysql.h> in /usr/include/mysql... configure: error: Cannot find MySQL's <mysql.h> in /usr/include/mysql 

На вашей системе не установлены заголовочные файлы MySQL необходимые для компиляции программ использующих библиотеку libmysqlclient либо файлы установлены в нестандартное место.
В первом случае вам необходимо установить пакет с этими файлами. В различных дистрибутивах он называется по разному, но обычно в названии присутствуют слова mysql и dev. Например в Debian пакет называется libmysqlclient15-dev
Во втором случае необходимо указать скрипту configure где установлены эти файлы. Это делается с помощью параметра: --with-mysql-includes=PATH specify path for MYSQL includes

Не найдены заголовочные файлы PRCE
checking for PCRE headers... using pcre includes from /usr/include/pcre
checking for <pcre.h> in /usr/include/pcre... configure: error: Cannot find PCRE's <pcre.h> in /usr/include/pcre 

Проблема аналогична предыдущей, только в этот раз отсутствуют заголовочные файлы библиотеки PCRE. Эта библиотека предназначена для работы с регулярными выражениями.
Для её решения необходимо установить пакет libpcre3-dev (в вашем дистрибутиве название пакета может отличаться, ищите по словам pcre и dev) либо указать пусть с помощью параметра --with-pcre-includes=PATH specify path for PCRE includes

Make

Назначение: Необходимо выполнить сам процесс компиляции SAMS. В результате в текущей директории будут созданы исполняемые файлы sams, samsf, samsdaemon, samsredir.

Для запуска компиляции достаточно в каталоге SAMS запустить команду make (gmake для FreeBSD). Данная команда использует файл Makefile созданный на предыдущем шаге скриптом configure и выполняет компиляцию SAMS (исполняемые файлы написанные на C).

Типичные ошибки

Результатом работы этой команды будут исполняемые файлы SAMS расположенные в текущем каталоге.

Install

Назначение: Установка файлов необходимых для работы SAMS в систему

Теперь необходимо скопировать файлы SAMS в директории вашего дистрибутива (Fix It). Это включает: * Файлы конфигурации (обычно устанавливаются в /etc) * Исполняемые файлы sams (обычно устанавливаются в /usr/bin) * Файлы web-интерфейса (обычно устанавливаются в /usr/share)

Эти файлы можно скопировать и руками, но это крайне не рекомендуется делать. Специально для этого Makefile содержит инструкции куда и какие файлы нужно копировать. И для запуска установки SAMS вам нужно набрать только make install и команда make сама скопирует все файлы в нужные места.

Типичные ошибки

UnInstall?

Для удаления установленной версии SAMS обычно достаточно выполнить make uninstall.