Автор Тема: Вопрос по сборке пакетов из исходников, разница в версиях библиотек и etc.  (Прочитано 6101 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Хотел спросить, есть новые версии некоторых программ, которых нет в репозитории, но есть исходники на сайте разработчиков этих программ, где в явном виде не указывается для какой версии дистрибутива они предназначались. Начинаешь собирать и выясняется, что либо нужны более свежие пакеты, нежели те которые есть в репозитории, либо некоторые пакеты вообще отсутствуют в репозитории. Что в таком случае делать? Например, нужен vlc новой версии 3.0.1, в Debian 8 в репах только версия 2.2.7. Значит ли это, что только менять дистрибутив OS каждый раз когда понадобится какой-то софт или можно как-то решить проблему с новыми версиями и зависимостями? Почему нет таких проблем в проприетарных OS? Какова принципиальная разница и почему нельзя сделать так же? Нет какого-то единого фреймворка или чего-то еще не хватает? Если, например, нужны какие-то свежие либы, то почему просто не включать их в пакет с программой?
« Последнее редактирование: 05 Март 2018, 20:07:59 от CoolAller »
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3670
  • Buster TDE & KDE
Re: Вопрос по сборке пакетов из исходников
« Ответ #1 : 05 Март 2018, 16:41:51 »
Ваш вопрос на половину риторический. Большинство из нас грешны тем что в большей или меньшей степени используем проприаретарное ПО. Браузеры yandex, opera, coogle-chromeа ещё skipe, teamviewer, crossover, wsp office и многое другое что то поставляется в deb пакетах что то в бинарном виде. Существуют варианты установки в /opt /usr/local а некоторый софт запускается из домашней папки пользователя. Заметим весь упомянутый софт способен работать на достаточно широком круге операционных систем как свежих так и не очень, тем не менее всегда существуют рамки по поддержке. Помним так же о бэкпортах, собирается достаточное количествосвежего софта для стабильных релизов но далеко не всё. С бухты барахты сказать  с уверенностью про vlc нельзя, скорее всего сделать так просто бэкпорт не удастся так как программа совсем не простая а вот сделать локальную сборку для помещения в /opt скорее всего можно если использовать виртуальную машину и пакеты из debian snapshot , разумеется надо учитывать нюансы в стартовых скриптах и правильно ссылаться на необходимые библиотеки, которые придётся изолированно подкладывать в папку с программой... в общем много надо чего знать.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1361
  • Debian, Openbox, macOS
Re: Вопрос по сборке пакетов из исходников
« Ответ #2 : 05 Март 2018, 16:49:03 »
Начинаешь собирать и выясняется, что либо нужны более свежие пакеты, нежели те которые есть в репозитории, либо некоторые пакеты вообще отсутствуют в репозитории. Что в таком случае делать?

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


Значит ли это, что только менять дистрибутив OS каждый раз когда понадобится какой-то софт или можно как-то решить проблему с новыми версиями и зависимостями?

Выше я описал как нужно поступать. А менять ОS всё время не нужно, нужно сразу выбирать ту, которая соответствует твоим "хотелкам".


Почему нет таких проблем в проприетарных OS? Какова принципиальная разница и почему нельзя сделать так же?

Отчасти тоже есть, но меньше. А ты не задумывался почему такие огромные размеры "проприетарных OS"?


Если, например, нужны какие-то свежие либы, то почему просто не включать их в пакет с программой?

То есть к примеру у тебя есть пять разных приложений, которые используют одинаковую либу.
При запуске сразу этих приложений в памяти компьютера появляются пять копий одной и той же либы. Ты про это?

Тогда у меня вопрос, почему ты слез с проприетарной OS, которая построена по желаемому тобой принципу?
« Последнее редактирование: 05 Март 2018, 16:50:38 от ecc83 »
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3670
  • Buster TDE & KDE
Re: Вопрос по сборке пакетов из исходников
« Ответ #3 : 05 Март 2018, 17:05:53 »
Искать и устанавливать.
Часто бывает такое, что нужного готового пакета зависимости тоже нет под твою систему, тогда скачиваешь исходники этих зависимостей,
собираешь из них пакеты, устанавливаешь, и только после этого приступаешь к сборке основного приложения.
Примерно так делают в slackware только в идеале пишут сборочный скрипт для каждого случая.
Я немного пробовал, так то получается но как то это всё долго и не очень весело... всё равно мы больше хотим потреблять чем создавать.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1361
  • Debian, Openbox, macOS
Re: Вопрос по сборке пакетов из исходников
« Ответ #4 : 05 Март 2018, 17:51:22 »
Я немного пробовал, так то получается но как то это всё долго и не очень весело...

Ну а какой выход, когда нужного приложения просто нет? Я как то четыре подхода делал, пока под CentOS собрал одну программу.
Причём сначала это казалось невозможно, а когда собралось, оказалось легко :)
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Вопрос по сборке пакетов из исходников
« Ответ #5 : 05 Март 2018, 19:37:31 »
При запуске сразу этих приложений в памяти компьютера появляются пять копий одной и той же либы.
Так фреймворки же есть, не? Да и на оффтопе тоже нет запуска в памяти либов разных версий.
OS, которая построена по желаемому тобой принципу?
Нет такой в природе.
А менять ОS всё время не нужно, нужно сразу выбирать ту, которая соответствует твоим "хотелкам".
Это в принципе невозможно, в основном из-за качества поддержки и других объективных причин.
огромные размеры "проприетарных OS"?
Обычно это последнее, что интересует конечного пользователя.
Я немного пробовал, так то получается но как то это всё долго и не очень весело...
Абсолютно верно, собирал какую-то мелочь, время ушло вагон, в следующий раз когда понадобилось, плюнул и запустил программу на оффтопе, потратив 5 минут, ибо не вариант.

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

В общем вопрос так и остался открытым, так как лично мне не понятно почему в оффтопе и в линуксе такая большая разница с юзабилити и почему до сих пор не могут уйти от привязки к пакетам и их версиям, которые должны быть в дистрибутиве. Почему в Mac OS иначе, там же не нужно компилить из исходников каждый раз при смене версии самой OS?
« Последнее редактирование: 05 Март 2018, 19:56:48 от CoolAller »
 

Оффлайн I-Jurij

  • Местный житель
  • ***
  • Сообщений: 441
  • Slitaz
Re: Вопрос по сборке пакетов из исходников
« Ответ #6 : 05 Март 2018, 19:56:20 »
1.
Цитировать
нужен vlc новой версии 3.0.1
Чего нет в более старой версии, не считая исправления всяких там багов?
Это к тому, что может вовсе не стоит заморачиваться?

По опыту сборки mplayer, mpv могу сказать, что требуется обновить (т.е. собрать новые версии) довольно много разных пакетов, начиная с ffmpeg, заканчивая фонтконфигами, фритайпами и т.д., кое-что обязательно, кое-что можно и пропустить. Для vlc сверху сто проц. добавится куча qt либ и их зависимостей.
То есть в итоге, чтобы обновить vlc правильно (пакетом), по хорошему нужно чуть ли не четверть системы пересобрать.
Чуть проще: сделать так, как выше писали и ругали (в отдельную папку). Но появляются дубли библиотек. Больше размер.
И совсем уж newway, от которого одни в восторге, другие - в унынии от подобности нелюбимой прориетарной оси: appimage и им подобные. Готовые спецзапакованные архивы программ с критическими зависимостями.

2.
Цитировать
Значит ли это, что только менять дистрибутив OS каждый раз когда понадобится какой-то софт
Обычно необходимое ПО (и ОСь в том числе) определяется на этапе планирования. После чего это все ставится. И обновляется только по мере необходимости.
Если вам изначально нужна была новейшая версия vlc или еще чего - вы точно с дистрибутивом не угадали.

 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Вопрос по сборке пакетов из исходников
« Ответ #7 : 05 Март 2018, 20:02:32 »
Чего нет в более старой версии, не считая исправления всяких там багов?
Есть поблемы с воспроизведением некоторых типов файлов, которые новая версия вопроизводит. Да и дело тут не только в VLC.
вы точно с дистрибутивом не угадали.
А с ним нельзя "угадать", так как в том дистрибутиве где есть то, что требуется другие глюки, только еще более серьезные.

Дело не в версии OS, а в том, что ИМХО подход в корне неправильный с привязанностью к пакетной базе OS. Я еще могу понять, что ладно там на какую-то глобально новую технологию перешли, как например, HTML5 вытеснил Flash или поменялась архитектура и какие-то программы перестали работать, хотя и этого повально не произошло, так как учли обратную совместимость.
« Последнее редактирование: 05 Март 2018, 20:04:10 от CoolAller »
 

Оффлайн I-Jurij

  • Местный житель
  • ***
  • Сообщений: 441
  • Slitaz
Re: Вопрос по сборке пакетов из исходников
« Ответ #8 : 05 Март 2018, 20:06:32 »
1. почему в оффтопе и в линуксе такая большая разница с юзабилити и
2. почему до сих пор не могут уйти от привязки к пакетам и их версиям, которые должны быть в дистрибутиве.
3. Как с этим тогда обстоит дело в Mac OS, там же не нужно компилить из исходников каждый раз при смене версии самой OS?
1. Потому что в линуксе каждый для себя создает юзабилити. В одиночку, как некто Патрег, сообществом, как большинство дистрибутивов, или промышленно-капиталистическим способом, как известные серверные оси.
2. Многим нравится привязка к пакетам, а версии можно обновить. Новые веяния, принесенные, как мне кажется более молодыми программистами и сборщиками: всякие аппимейджи, контейнеры и прочее уже есть (или скоро появится) в репах практически каждого большого дистра.
3. Думаю, так же, как и в linux, в котором тоже не нужно собирать каждый раз из исходников без необходимости (хотя некоторым нравится).
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
I-Jurij,
1. Это не ответ, это констатация факта.
2. Очень спорно, так как не зря есть такое выражение Dependency hell, которое не просто фигура речи :)
3. Вообще не согласен, не нужно там этого делать, так как сам юзал Mac, правда не очень долго, но я просто скачивал новую версию программы и устанавливал без необходимости компиляции с новыми версиями библиотек.

PS. Вопрос не в том, что "лучше", а что "хуже", вопрос в том почему так и есть ли какие-то объективные причины объясняющие это явление.
« Последнее редактирование: 05 Март 2018, 20:23:57 от CoolAller »
 

Оффлайн I-Jurij

  • Местный житель
  • ***
  • Сообщений: 441
  • Slitaz
Re: Вопрос по сборке пакетов из исходников
« Ответ #10 : 05 Март 2018, 20:19:04 »
1. Есть поблемы с воспроизведением некоторых типов файлов, которые новая версия вопроизводит. Да и дело тут не только в VLC.
2. А с ним нельзя "угадать", так как в том дистрибутиве где есть то, что требуется другие глюки, только еще более серьезные.
3. Дело не в версии OS, а в том, что ИМХО подход в корне неправильный с привязанностью к пакетной базе OS. ...
1. vlc сам не воспроизводит, это делает ffmpeg. Можно упростить задачу сборкой (обновлением) ffmpeg. Не знаю, актуально ли в stretch, до jessie в таких случаях меня всегда выручал репо debian-multimedia, там с другими флагами сборка проводилась.
2. Подход что ни на есть правильнейший, п.что единственный. Пакетная база - это и есть то, что выше вы называли фреймворком. Просто одни используют обкатанные временем для надежности, другим подавай поновее для эспериментов и движения вперед.
Я уже писал о новых подходах, среди них есть один с "фреймворком" в виде базовой убунту и довесками в виде программ, которые запустятся при наличии "фреймворка" в любой системе.
Все, уходящее от пакетной базы, пока что приводит к прожорливости и увеличению, хотя и безопасность вроде как лучше (лично не вникал).
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Просто одни используют обкатанные временем для надежности
Если бы не знал как обстоит дело на самом деле, то возможно бы согласился)
Все, уходящее от пакетной базы, пока что приводит к прожорливости и увеличению
Пакеты есть и в Mac OS, по поводу занимаемого места на диске, так это вообще пофигу, так как это место увеличивается только при установке новых программ вместе с библиотеками.

Собственно по ссылке, которую я привел выше я понял как решается проблема совместимости в Mac OS и Windows, но мне так и не понятно почему нельзя сделать так же в Linux (да, скорее всего пришлось бы отправлять на покой существующие пакетные менеджеры в их сегодняшем виде или значительно их переделывать).
« Последнее редактирование: 05 Март 2018, 20:36:46 от CoolAller »
 

Оффлайн I-Jurij

  • Местный житель
  • ***
  • Сообщений: 441
  • Slitaz
почему так и есть ли какие-то объективные причины объясняющие это явление
Если найдете человека, который сможет ответить на эти вопросы - познакомьте меня с ним :)

А вообще - разные пути возникновения и развития. Linux не был ориентирован на десктоп, нужно, что было удобно админам и программистам. Виндовс изначально десктопный и к тому же платный. Его нужно было делать простым для секретарш и боссов. Плюс договоренности с железячниками, обоснованные тоже материальными соображениями (это я о драйверах в основном).

И еще раз о юзабилити. После десяти лет работы в линукс, а последние четыре - исключительно линукс, меня дико вымораживает необходимость искать, качать, ставить, править автозагрузку. Меня бесит проводник, в который я постоянно добавлял расширения, написанные такими же недовольными. Меня выводит из себя структура каталогов. И прочее, прочее, прочее.
ИМХО: дело привычки. Начни вы с линукса, вопроса о юзабилити не возникло бы. Подходы к организации работы разные.
 

Оффлайн qupl

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 5016
  • memento mori
  • Jabber: qupl@jabber.ru
Собственно по ссылке, которую я привел выше я понял как решается проблема совместимости в Mac OS и Windows, но мне так и не понятно почему нельзя сделать так же в Linux.
Зачем из линукс делать окна? (вопрос риторический)

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
I-Jurij, опять вы о другом) Я не говорю о субъективном удобстве, я говорю о объективной стороне вопроса, такой как экономия времени на таких вещах, которые просто обязаны быть простыми и не требовать от пользователя большого количества времени и телодвижений - обновление версий программ, где большее время должно уделяться разработчиком для правильной компоновки приложения для его успешного запуска и использования, а при наличии удобных инструментов и вовсе не отличаться по трудозатратам.

Cообщение объединено 05 Март 2018, 20:40:49
Зачем из линукс делать окна? (вопрос риторический)
Нифига не риторический, Mac OS это же не окна)

Пока мне видится, что проблема с обратной совместимостью в Linux не имеет никаких объективных непреодолимых затруднений для реализации, так как способы решения этого вопроса уже давно имеются, тут скорее консервативность и отсутствие желания или ресурсов для реализации.
« Последнее редактирование: 05 Март 2018, 21:03:41 от CoolAller »
 

Теги:
 

Вопрос форумчанам, wiki Debian и не только.

Автор BULATUS

Ответов: 1
Просмотров: 1701
Последний ответ 06 Май 2011, 01:14:05
от pipe
Вопрос по дистрибутивам Debian

Автор robix

Ответов: 4
Просмотров: 1638
Последний ответ 31 Август 2012, 12:12:18
от robix
Вопрос про злую ось...

Автор smallNix

Ответов: 4
Просмотров: 1267
Последний ответ 08 Август 2014, 20:41:54
от smallNix
куда задать вопрос?

Автор SimonPhoenix

Ответов: 4
Просмотров: 1698
Последний ответ 10 Июнь 2012, 02:14:24
от SimonPhoenix
Вопрос о возможностях Debian

Автор Xariman

Ответов: 22
Просмотров: 3101
Последний ответ 27 Август 2013, 22:19:24
от Сет