Библиотека сайта rus-linux.net
Цилюрик О.И. Linux-инструменты для Windows-программистов | ||
Назад | Установка программного обеспечения | Вперед |
Autoconf / Automake
До настоящего времени это наиболее частая форма
поставки программного пакета в исходных кодах. Это весьма старый
инструментарий (с 1991г.), который включил в себя за время развития
целый ряд дополнительных пакетов (например libtools
— пакет конфигурирования библиотек). Отличительным признаком
таких пакетов является: наличие в каталоге файла скрипта configure
с правами исполнения. Рассмотрим общие принципы такой сборки на
примере очень крупного проекта VoIP PBX FreeSwitch
,
исходный пакет распакован в каталог:
$ pwd /usr/src/freeswitch-1.0.6
Файл configure
допускает запуск с ключом --help
,
дающем подсказку по возможным параметрам установки, отличающихся от дефаултных:
$ ./ configure --help `configure' configures freeswitch 1.0.6 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... ... Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/freeswitch] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/freeswitch/bin', `/usr/local/freeswitch/lib' etc. You can specify an installation prefix other than `/usr/local/freeswitch' using `--prefix', for instance `--prefix=$HOME'. ... Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor ...
Дальше (возможно определившись с параметрами), выполняется достаточно типовая последовательность действий:
$ ./configure ...
Наиболее часто изменяемым параметром инсталляции
является корневой путь установки пакета; весьма часто разработчики в
качестве дефаултного пути установки задают /usr/local
,
но дистрибьюторы (или пользователи при установке) переопределяют этот
путь в /usr
или /opt
. Достигается это выполнением:
$ ./configure --prefix=/usr ... $ ./configure --prefix=/opt ...
После этой фазы (если она завершается без ошибок) должен быть
создан файл сборки Makefile
.
$ time make .... +---------- FreeSWITCH Build Complete ----------+ + FreeSWITCH has been successfully built. + + Install by running: + + + + make install + +-----------------------------------------------+ real 15m25.832s user 11m29.939s sys 3m41.169s $ su -c 'make install' ...
Примечание: Если команды ./configure
и make
могут
успешно выполняться от имени ординарного пользователя, то последняя
операция инсталляции — требует прав root
.
В некоторых пакетах между ./configure
и make
может
быть предусмотрена фаза конфигурирования состава пакета:
$ make config
или
$ make menuconfig
Наличие такой возможности легко определить,
просматривая Makefile
,
созданный ./configure
,
на наличие соответствующих целей.
Предыдущий раздел: | Оглавление | Следующий раздел: |
Непосредственная сборка | Создание своего конфигурируемого пакета |