Сборка и установка программ в linux

./configure

чтобы сконфигурировать сборку Gwyddion .

Скрипт оболочки configure пытается угадать правильные значения для различных переменных, меняющихся от системы к системе и используемых в процессе компиляции. Он использует эти переменные чтобы создать Makefile в каждом каталоге пакета, набор заголовочных файлов с расширением .h , которые содержат зависящие от системы определения и некоторые другие вспомогательные файлы. В конце своей работы он создаёт другой скрипт оболочки config.status , который можно затем использовать для повторения текущей конфигурации, и файл config.log , который содержит подробности процесса детектирования и который полезно включать в сообщения об ошибках компиляции. В конце команда configure также выводит суммарную сводку о включенных и выключенных дополнительных опциях, включая причины почему опция была выключена.

Если configure пишет об отсутствии требуемых пакетов, установите эти пакеты и перезапустите её. То же самое справедливо и для случая, если configure заканчивается успешно, но вы обнаружили, что забыли установить опциональный компонент, с которым хотели собрать Gwyddion . Возможно, что пакет не был найден или был неправильно определён даже если вы его установили, а именно если он был установлен в нестандартный каталог. В этом случае необходимо настроить определённые переменные окружения чтобы дать configure возможность найти эти пакеты:

Установка программ в Linux из исходников tar.gz/ Процесс полностью с ошибками и траблшутингом

PKG_CONFIG_PATH

Большинство пакетов идут вместе с так называемыми файлами pkg-config ( .pc ), которые описывают как программы должны собираться и линковаться с ними. configure использует информацию из этих файлов, следовательно, PKG_CONFIG_PATH должна быть установлена таким образом, чтобы там были перечислены все нестандартные какталоги с нужными файлами pkg-config. Чтобы добавить, например, установленную библиотеку GTK+ в /opt/gnome и установленную библиотеку FFTW3 в $HOME/opt/fftw3 , нужно выполнить:

PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig:$HOME/opt/fftw3/lib/pkgconfig
export PKG_CONFIG_PATH

PATH , LD_LIBRARY_PATH , DYLD_LIBRARY_PATH

Может потребоваться настроить эти переменные чтобы включить нестандартные каталоги с исполняемыми файлами и библиотеками соответствующих пакетов. Переменные LD_LIBRARY_PATH и DYLD_LIBRARY_PATH обе задают путь поиска для разделяемых библиотек, но первая используется в системах на основе Linux и BSD, в то время, как вторая на OS X.

Может потребоваться настроить эти переменные чтобы включить нестандартные каталоги с заголовочными файлами и библиотеками пакетов, с которыми не шло файлов pkg-config, например, для libTIFF в /usr/local можно установить:

CPPFLAGS=-I/usr/local/include
export CPPFLAGS
LDFLAGS=-L/usr/local/lib
export LDFLAGS

Опция —prefix команды configure задаёт базовый каталог установки. Компоненты программы будут установлены в его подкаталоги bin , lib , share , и т.д. (которые будут созданы если они не существуют). Более детальное управление возможно с помощью опций, задающих отдельные подкаталоги, таких как —bindir , —libdir . Префикс по умолчанию – /usr/local/bin , чтобы установить Gwyddion в домашний каталог пользователя можно использовать, например команду

Читайте также:
Программа для улучшения качества звука файлов

Linux — Компиляция программ из исходников в Ubuntu

./configure —prefix=$HOME/opt/gwyddion

Если вы устанавливаете Gwyddion для личного использования это является рекомендованным вариантом, поскольку в этом случае не требуется выполнять действий с правами суперпользователя.

Настройки процесса конфигурирования

Необязательные возможности можно включить/выключить с помощью опций вроде —with-foo / —without-foo или —enable-foo / —disable-foo . Например, компиляция с zlib может быть отключена командой:

./configure —without-zlib

По умолчанию все опциональные возможности включены, если найдены все требуемые для их реализации библиотеки. Краткая информация о включенных и отключенных опциональных возможностях печатается в выводе команды configure недалеко от его конца.

Полный список опций и важных переменных configure можно получить с помощью команды:

./configure —help

Список будет длинным и большая часть опций контроллирует включение/выключение отдельных опциональных возможностей или передачу необходимых флагов компиляции и связывания для различных библиотек. Например, задавая FFTW3_CFLAGS и FFTW3_LIBS можно задать (или переопределить) как будет осуществляться компиляция и связывание с FFTW3. Однако, такое ручное задание является резервным вариантом для гораздо более удобного метода, основанного на использовании pkg-config в том случае если он почему-то не работает.

Некоторые интересные общие опции описаны в следующих параграфах.

Настройки пользователей

C Gwyddion поставляются различные файлы взаимодействия со средой рабочего стола, которые определяют типы MIME, элементы меню, привязки файлов, генерацию миниатюр и т.п. Если Gwyddion устанавливается в системный каталог, они обычно находятся в правильных местах файловой системы. Однако, если вы устанавливаете его куда-то в свой каталог пользователя, то эти файлы нужно поместить в другое место. а именно в определённые скрытые каталоги, начинающиеся с точки в вашем домашнем каталоге.

Это можно задать с помощью опции —enable-home-installation команды configure . Следует отметить, что использование этой опции приводит к установке файлов в каталоги вне заданного префикса.

Настройки создателей пакетов

Если Gwyddion устанавливается во временный каталог для дальнейшего создания пакета, необходимо отключить определённые действия после установки, которые нужно производить с системой, где пакет будет установлен, а не в момент создания пакета.

Обновление файлов FreeDesktop может быть отключено с помощью —disable-desktop-file-update . Установка схем GConf2 может быть отключена с помощью —disable-schemas-install . Обычно это не надо делать в явной форме т.к. установки в временный каталог используют непустую переменную DESTDIR (см. раздел установка). Если переменная DESTDIR не пустая, система сборки пропустит автоматически действия после установки. Тем не менее, обычной причиной отключения этих действий является то. что Gwyddion устанавливается на временное место вместо финального каталога (что обычно происходит при сборке пакетов в Linux). В этом случае вспомогательные действия отключаются автоматически при непустой переменной DESTDIR (см. раздел установка) и, следовательно, нет нужды отключать их в configure .

Читайте также:
Как сделать чтобы окно программы открывалось на весь экран

Передавая параметр —enable-library-bloat скрипту configure заставляет связываться модулям со всеми библиотеками. Это автоматически включается на MS Windows, где это является обязательным требованием. В основанных на Unix системах, связывание модулей со всеми библиотеками, которые уже загружены основной программой только напрасно замедляет работу (как во время сборки, так и во время исполнения). Таким образом, модули не связываются непосредственно с основными библиотеками вроде GLib. если ваша система или правила сборки требуют связывания модулей со всеми библиотеками (например, в системах, основанных на AltLinux), использование этой опции включает данное поведение.

Передачей опции —disable-module-bundling команде configure можно запретить объединение всех модулей одного типа (файловых, обработки данных, . ) в одну разделяемую библиотеку, что обычно делается для сохранения места на диске и ускорения загрузки. Хотя подобное объединение не меняет функциональность, оно заметно меняет набор устанавливаемых файлов. Если вы, по той или иной причине, полагаетесь на наличие на диске файла gwyfile.so , самое время остановиться и перестать так делать. Тем не менее, можно использовать данную опцию чтобы принудительно получить традиционный вариант установки, где каждый модуль находился в отдельном файле.

Настройки для разработчиков

Если вы собираетесь накладывать патч или иным образом модифицировать исходный код Gwyddion запустите configure с опцией —enable-maintainer-mode чтобы включить различные правила обновления и пересборки, которые не используются при обычной компиляции. В зависимости от вида изменений могут понадобиться некоторые дополнительные инструменты, описанные в разделе Снимок Subversion, разработка.

По умолчанию справочное руководство по C API не пересобирается. Подготовленные файлы HTML распространяются с архивом, документация меняется редко и её генерация требует достаточно продолжительного времени. Для того, чтобы включить генерацию документации по API нужно передать опцию —enable-gtk-doc скрипту configure . Естественно, вам потребуется gtk-doc. Следует отметить, что configure предупредит вас, если вы включили режим мантейнера, но выключили gtk-doc (что может быть полезно для того, чтобы не пересобирать постоянно и бесцельно документацию). Если вы не собираетесь делать make dist , это предупреждение безвредно.

Источник: gwyddion.net

Сборка и установка программ в linux

Библиотека сайта rus-linux.net

Что выбрать?

Логичный выбор для начинающего пользователя будет 1 (первый вариант, скомпилированные пакеты). Пользователи средней квалификации, вероятно предпочтут 2 (второй вариант, скомпилированные архивы). Фанаты, наверное, будут всегда компилировать из исходных текстов.

Порядок действий

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

  • Программа всегда сопровождается практическим руководством («как сделать?» — how-to), обычно в форме текстового файла, который поясняет, что необходимо делать пользователю: до, во время и после установки. Практические руководства очень часто находятся на сайте, с которого загружается программное обеспечение. Это может быть отдельный файл, поясняющий текст, или ссылка на странице загрузки.
  • ПЕРВОЕ, прочтите руководство до загрузки программного обеспечения или манипуляции с ним.
  • ВТОРОЕ, руководство по установке программы, как правило, упаковано вместе с программой и поясняет процесс ее установки.
  • Прочтите руководство по установке до установки программного обеспечения.
Читайте также:
Web браузер это компьютер на котором работает сервер программа

Распаковка архива

Точный синтаксис будет отличаться в зависимости от типа пакета. Однако общая идея такая же для всех типов архивов. Отличия будут только в аргументах, применяемых при распаковке. Вот несколько типичных примеров:

$ tar zxf любая_программа.tar.gz $ tar -xjf любая_программа.tar.bz2

Вы можете узнать более подробно об использовании архивов (tarballs) на сайте Wikipedia .

Упаковка архивов zip

Некоторые архивы будут упакованы архиватором zip, а не tar. Это запросто может оттолкнуть вас. Однако, проблема легко решаема. Если вы помните, мы имеем возможность обратиться к помощи из-за любой неизвестной команды. В этом случае нам необходимо узнать, как разархивировать архив zip.

$ unzip —help

На приведенном мной снимке экрана, показана дилемма, с которой мы столкнулись, и ее решение:

Обычное применение будет следующим:

$ unzip любая_программа.zip -d /tmp

Установка

После распаковки архива вы получите установочный комплект программного обеспечения. Обычно, установка вызывается с помощью скрипта. Точное имя скрипта будет меняться в зависимости от программы.

Также его расширение будет меняться в зависимости от языка, на котором он написан.

Например, следующая команда вызовет скрипт install.pl (написанный на Perl). Точка и завершающий слэш показывают, что скрипт будет выполнен из текущей папки.

$ ./install.pl

Сборка (из исходных текстов)

Иногда программы не скомпилированы и не готовы к установке. Архивы содержат много файлов с непонятными расширениями, например, .c, .h и .o. Если вы не программист, вам не нужно беспокоиться о них и их назначении.

Также вы можете не знать, каким-образом осуществляется компиляция из исходников.

Вам просто нужно помнить три простые команды.

Первая команда сгенерирует файлы, необходимые для создания программного обеспечения и установки общесистемных параметров.

$ ./configure

Вторая команда сформирует библиотеки и приложения.

$ make

Третья команда установит библиотеки и приложения.

$ make install

В качестве домашнего задания, вы могли бы немного почитать:

Это не гарантирует, что компиляция будет успешной. Некоторые исходные тексты нерабочие! В этом случае запишите ошибки и разместите их на тематических форумах, где вы скорее всего довольно быстро найдете ответ.

Кратко об установочных методах

Чтобы сделать вещи доступнее для понимания, ниже приведены два примера, показывающие список команд, которые требуются для успешной установки загруженного приложения (обратите внимание это ТОЛЬКО примеры!). Скорее всего вам понадобятся права суперпользователя (su или sudo) для установки программного обеспечения.

Архив, содержащий скомпилированную программу:

$ tar zxf любая_программа.tar.gz ИЛИ $ tar -xjf любая_программа.tar.bz2 $ cd любая_программа_папка $ ./установочный_скрипт

Архив, содержащий исходные тексты:

$ tar zxf любая_программа.tar.gz ИЛИ $ tar -xjf любая_программа.tar.bz2 $ cd любая_программа_папка $ ./configure $ make $ make install

Источник: rus-linux.net

Сборка программ и утилиты терминала Linux. Часть третья

Обложка: Сборка программ и утилиты терминала Linux. Часть третья

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru