На PClinuxOS проверял, работало без каких либо осечек, на Slackware работало, ну и сейчас на Salix ей пользуюсь, хотя да, везде до устанавливал отдельно.Olej писал(а):Есть.frost42 писал(а):ну есть же утилита checkinstallно не делать make install
Но:
- это больше экзотика, чем широко используемый инструмент...
- не во всех (или ни в каких?) дистрибутивах она устанавливается по умолчанию, её нужно знать, искать и доустанавливать
- это инструмент любимый пользователями DEB-дистрибутивов, я не знаю, насколько он применим в RPM-дистрибутивах ... и других.
Здесь есть подробнее: Сборка программы из исходников, установка, сборка пакета.
Помогите научиться устанавливать программы из исходного кода
-
- Писатель
- Сообщения: 43
- Зарегистрирован: 21 фев 2012, 19:50
- Откуда: Новокузнецк
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
-
- Писатель
- Сообщения: 43
- Зарегистрирован: 21 фев 2012, 19:50
- Откуда: Новокузнецк
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Вот и возникают сомнения и вопрос... хотелось бы слышать мнения на этот счёт: имеет ли смысл установка открытых публичных проектов через (чуть не сказал "задницу" ) сборку пакетов под пакетного менеджера?
Мне думается, очень даже имеет.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Это, наверное, по ситуации?frost42 писал(а):Вот и возникают сомнения и вопрос... хотелось бы слышать мнения на этот счёт: имеет ли смысл установка открытых публичных проектов через (чуть не сказал "задницу" ) сборку пакетов под пакетного менеджера?
Мне думается, очень даже имеет.
-
- Писатель
- Сообщения: 43
- Зарегистрирован: 21 фев 2012, 19:50
- Откуда: Новокузнецк
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Я думаю, что все зависит от софта. Просто какой смысл собирать какой-нибудь VLC( только если так, потренироваться) , другое дело, когда нужна софтина которой нет в репозитории, и без нее никак не обойтись, то думаю что сборка, после которой пакет будет виден в менеджере пакетов, имеет право на жизнь.Это, наверное, по ситуации?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Безусловно:frost42 писал(а):Я думаю, что все зависит от софта. Просто какой смысл собирать какой-нибудь VLC( только если так, потренироваться) , другое дело, когда нужна софтина которой нет в репозитории, и без нее никак не обойтись, то думаю что сборка, после которой пакет будет виден в менеджере пакетов, имеет право на жизнь.Это, наверное, по ситуации?
Правило приоритета 1: если пакет есть в репозитарии + если устраивает его версия (не нужна более новая) - ставим только из репозитария...
Ну а если нет?
Если это единичная установка на компьютер разработчика (среда разработки, исполнения, тестирования) ... например аудиопакеты типа sox, vorbis, ogg, speex, ... ?
Первейшим делом смотрим наличие в Makefile цели uninstall (или нечто похожее) - наличие такой цели всегда признак хорошего профессионального проекта ... для возможности:
Код: Выделить всё
# make uninstall
...
Даже если нет uninstall - тоже сильно подумаю собирать ли пакет дистрибутива ... и, скорее всего, не стану это делать.
Другое дело, если пакет нужно растиражировать, даже на 2-3-4 компьютера заказчика. Тогда может быть прямой резон сборки пакета + с последующей установкой средствами пакетного менеджера.
Re: Помогите научиться устанавливать программы из исходного кода
Я бы ещё посмотрел префиксы. И постарался собрать в $HOME или /optOlej писал(а):...
Ну а если нет?
Если это единичная установка на компьютер разработчика (среда разработки, исполнения, тестирования) ... например аудиопакеты типа sox, vorbis, ogg, speex, ... ?
Первейшим делом смотрим наличие в Makefile цели uninstall (или нечто похожее) - наличие такой цели всегда признак хорошего профессионального проекта ... для возможности:Если такая возможность есть, я всегда для единичной инсталляции ... "в гробу видел" сборку пакета дистрибутива (RPM/DEB) и буду устанавливать "по классике".Код: Выделить всё
# make uninstall ...
Даже если нет uninstall - тоже сильно подумаю собирать ли пакет дистрибутива ... и, скорее всего, не стану это делать.
...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Префиксы - обязательно!Ali писал(а):Я бы ещё посмотрел префиксы. И постарался собрать в $HOME или /opt
... для тех кто не сталкивался - речь именно о параметре configure:
Код: Выделить всё
./configure --prefix=<путь к каталогу>
- я бы сначала выяснял какой префикс по умолчанию используется в моём дистрибутиве (часто это /usr, /usr/local, ...)
- если устанавливать с другим префиксом, то если пакет ставит библиотеки - они могут стать недоступными для использования другими компонентами (не знают где), это решаемо - но нужно отдельно конфигурировать поиск библиотек...
- я бы затем выяснял какой префикс по умолчанию используется устанавливаемым пакетом (часто это будет достаточно хорошим решением) ... ряд проектов и устанавливается по умолчанию в /opt (/opt и определялся как каталог для не-GNU ПО)
- установка с --prefix=$HOME может быть хорошим решением ... но если на этом компьютере не будет использовать этот проект пользователь с любым другим именем.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Это, кстати, одна из самых частых причин неудач сборки из исходников: определение видимости (связываемости) устанавливаемых библиотек.Olej писал(а): - если устанавливать с другим префиксом, то если пакет ставит библиотеки - они могут стать недоступными для использования другими компонентами (не знают где), это решаемо - но нужно отдельно конфигурировать поиск библиотек...
И, как выяснилось из публичных обсуждений и разговоров с коллегами - самая плохо понимаемая часть, даже профессиональными программистами-разработчиками (на этот счёт даже в среде разработчиков ходят какие-то невнятные мифы).
Поэтому я специально занимался систематизацией этого вопроса, и он подробно описан:
Это уже в отдельной большой главе "Библиотеки".Olej писал(а): Я свои умения сборки и установки описал довольно детально в тексте Инструменты Linux (главы "Компиляция и сборка приложений" и "Установка программного обеспечения").
Не утверждаю, что это лучшие или самые полные описания ... но что есть то есть
(вот здесь есть HTML версия для просмотра, для ленивых : Инструменты Linux для Windows-программистов - но она изрядно устаревшая).
Re: Помогите научиться устанавливать программы из исходного кода
Тут главная идея -- изоляция дистрибутива, от стороннего софта. Возможность использовать пересекающиеся по именам версии разделяемых библиотек(можно разных для разных деревьев в /opt), почти не блокируя дистрибутивную систему управления пакетами. Конечно требуется некоторая обертка-скрипт для запуска и настройки окружения.Olej писал(а):Префиксы - обязательно!Ali писал(а):Я бы ещё посмотрел префиксы. И постарался собрать в $HOME или /opt
... для тех кто не сталкивался - речь именно о параметре configure:Но это уже отдельная, совершенно другая история...Код: Выделить всё
./configure --prefix=<путь к каталогу>
- я бы сначала выяснял какой префикс по умолчанию используется в моём дистрибутиве (часто это /usr, /usr/local, ...)
- если устанавливать с другим префиксом, то если пакет ставит библиотеки - они могут стать недоступными для использования другими компонентами (не знают где), это решаемо - но нужно отдельно конфигурировать поиск библиотек...
- я бы затем выяснял какой префикс по умолчанию используется устанавливаемым пакетом (часто это будет достаточно хорошим решением) ... ряд проектов и устанавливается по умолчанию в /opt (/opt и определялся как каталог для не-GNU ПО)
Да, разумеется.Olej писал(а): - установка с --prefix=$HOME может быть хорошим решением ... но если на этом компьютере не будет использовать этот проект пользователь с любым другим именем.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Помогите научиться устанавливать программы из исходного кода
Тут ещё могут помогать проекты-обёртки от сторонних производителей.Ali писал(а):Тут главная идея -- изоляция дистрибутива, от стороннего софта. Возможность использовать пересекающиеся по именам версии разделяемых библиотек(можно разных для разных деревьев в /opt), почти не блокируя дистрибутивную систему управления пакетами. Конечно требуется некоторая обертка-скрипт для запуска и настройки окружения.Olej писал(а):Префиксы - обязательно!Ali писал(а):Я бы ещё посмотрел префиксы. И постарался собрать в $HOME или /opt
... для тех кто не сталкивался - речь именно о параметре configure:Но это уже отдельная, совершенно другая история...Код: Выделить всё
./configure --prefix=<путь к каталогу>
- я бы сначала выяснял какой префикс по умолчанию используется в моём дистрибутиве (часто это /usr, /usr/local, ...)
- если устанавливать с другим префиксом, то если пакет ставит библиотеки - они могут стать недоступными для использования другими компонентами (не знают где), это решаемо - но нужно отдельно конфигурировать поиск библиотек...
- я бы затем выяснял какой префикс по умолчанию используется устанавливаемым пакетом (часто это будет достаточно хорошим решением) ... ряд проектов и устанавливается по умолчанию в /opt (/opt и определялся как каталог для не-GNU ПО)
Уже упоминавшаяся здесь утилита checkinstall:
frost42 писал(а):ну есть же утилита checkinstallно не делать make install
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей