LINUX.ORG.RU

Собрать проект под старую Ubuntu

 


0

1

Есть сервер, который работает на Ubuntu 16.04, понадобилось мне обновить на нем старый проект. У меня Ubuntu 20.04. Стал я проект пересобирать, а версии библиотек не совпадают.

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

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

самое простое это поднять 16.04 на виртуалке или в чруте запустить и перебрать на 16.04

anonymous
()
Ответ на: комментарий от tiver25435

Это я у тебя хочу спросить. Контейнер с Ubuntu 16.04 сработает, как и chroot. А вот какое имеет отношение Void Linux к конкретной задаче сборки ПО под Ubuntu 16.04 — вообще непонятно. То есть на нём тоже можно виртуалку, chroot и контейнер с ней поднять, конечно, но это можно вообще на любом Linux.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Ещё вариант — контейнер на основе нового Linux на старом.

Vsevolod-linuxoid ★★★★★
()

Взять у амазон бесплатный инстанс, там собрать.

One ★★★★★
()

что проблема не новая, все с этим сталкиваются, и есть какой-то нормальный путь.

Верно. Нормальный путь - срочно избавляться от убунты16. Я бы даже порекомендовал избавиться от убунты вообще, заменив его на нормальный дистр (дебиан), но тут уже бывают разные мнения.

Сервер обновлять - не вариант

Почему? Наоборот это давно надо было сделать.

Кроме этого очевидно правильного варианта, есть ещё два, вобщем-то тоже разумные:

1) таки для сборки, если хочешь обширную бинарную совместимость, надо иметь старую систему - не только для этого проекта, а вообще. Можно в виртуалке.

2) можно распространять не бинарник а исходники и компилить их прямо на сервере

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

firkax ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

А вот какое имеет отношение Void Linux

Это тролль бредозаявлениями и мультиовод, у него как минимум 4 акка и со всех этим бредом занимается

www.linux.org.ru/people/daxoric128/profile

www.linux.org.ru/people/detes42325/profile

www.linux.org.ru/people/gefyodomla/profile

www.linux.org.ru/people/tiver25435/profile

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от tiver25435

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от firkax

Ubuntu 16.04 по расширенной поддержке, что можно для личного использования получить бесплатно, будет до 2026 года поддерживаться.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

20.04 тоже по расширенной, вышла 2 года назад. Если бы у автора была надобность в стабильных (старых) версиях библиотек и софта, то да, а у него от этого наоборот проблемы.

firkax ★★★★★
()

Я так и сделал, собрал под 16.04 в виртуалке. Просто не хочется таскать ее за собой.

Сервер обновить - вариант правильный, но он физически труднодоступен. А при удаленном апгрейде, вероятность того, что что-нибудь да сломается - велика, и тогда полетят камни. Рано или поздно он, безусловно, будет обновлен, но пока что наиболее безболезненный вариант его не трогать.

a400k4a
() автор топика

Берешь debootstrap, ставишь базовую систему с 16.04, chroot’ишься туда и собираешь софт. Не нужно ни виртуалок, ни контейнеров.

cocucka ★★★★☆
()
Ответ на: комментарий от anonymous

самое простое это поднять 16.04 на виртуалке или в чруте запустить и пересобрать на 16.04

Удваиваю этого анонимуса, причём самое надёжное — в виртуалке.

Все остальные пути чреваты тем, что в случае каких-то вопросов/глюков ты будешь терзаться, то ли это проект глючный, то ли ты среду неправильно воспроизвёл. А свои нервы дорого стоят.

hobbit ★★★★★
()

Сервер обновлять - не вариант

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

Можно собирать на старой системе, но держать ее ради одного проекта не хочу

Что ещё блин за «не хочу»? Не хочешь, не надо - иди улицы подметай. Виртуалка, докер - средств куча. Для свободных проектов можешь deb собрать подо все версии убунты через GH actions.

slovazap ★★★★★
()
Ответ на: комментарий от cocucka

Да, в итоге сделал так. Теперь собираю версии для разных Убунт без лишних движений, + нашел как настроить eclipse на сборку в чруте: https://stackoverflow.com/a/27419482

a400k4a
() автор топика
Ответ на: комментарий от anonymous

+1, chroot/proot и т.д. идеальное решение

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.