Компиляция 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.
