version 'GLIBC_2.34' not found [решено]

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

version 'GLIBC_2.34' not found [решено]

Сообщение lordgray » 13.03.2025 19:50:27

Здравствуйте! Написал программу под Windows, все работает замечательно. Но тут государство подарило 140 компов с AstraLinux 1.7 и всяким лицензионным софтом. Решил скомпилить версию под линукс (компилил на Debian 12, т.к. на Астру Лазарь не стал). При запуске на Астре, получаю "version 'GLIBC_2.34' not found". Библиотека есть, конечно, но версии 2.24. Обновление ОС подняло версию до 2.28, что не решило проблему. Попытка вручную установить нужную версию пакета libc6, чуть не уложила операционку. Да и зависимостей там столько, что вручную решить - чёкнуться можно, а в репозиториях все старое. Поиски в интернете почти ничего не дали, кроме идеи, скомпилить проект на Линуксе с версией libc6 пониже. Не знаю, поможет, или нет? Качнул и поставил Debian 10, в нем поже версия 2.28. Так, блин, Лазарус на него не становится, видите ли, не известный метод сжатия DEB пакета. За 3 дня поисков, проб, и танцев с бубном, замахался так, что руки опустились, пробовать дальше. Сам я не спец, и даже, не средний пользователь Линукса. Есть какое то простое решение проблемы?

Миграцию на Астру 1.8 или вообще другой дистрибутив, не предлагать, т.к. предустановлен лицензионный софт, который потеряется.
Может при компиляции, какие то параметры можно указать, или еще чего? Спасайте!
Последний раз редактировалось lordgray 18.03.2025 23:03:27, всего редактировалось 1 раз.
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

Re: version 'GLIBC_2.34' not found

Сообщение RRYTY » 13.03.2025 20:07:54

Астра протухла еще при рождении, это необновляемый тупик.
Единственно абсолютно безглючный боевой способ поддержки кроссплатформенного софта - поставка в предкомпилированном виде для каждой ОС. Каждую программу при обновлении версии собираем под нужной ОС в виртуальных машинах, там же тесты. Советую делать так же. Нужно под Астру - собирайте под Астрой, именно под той, в которой будет работать (орлы, всякие воронежи и смоленски имеют кардинальные отличия по степени гниения, самый тухлый - смоленск). Лазарус там тоже тухлый - 2.4, это придется учесть, у проектов лазаруса есть несовместимость сверху вниз. Нужно под Росу - берите именно ту сборку, которая будет у заказчика. И так далее, виндов тоже касается.

Астра чудно переносится с ПК на ПК (включая виртуальные различных гипервизоров) при помощи rescuecd и fsarchiver.
RRYTY
постоялец
 
Сообщения: 242
Зарегистрирован: 25.12.2021 10:00:32

Re: version 'GLIBC_2.34' not found

Сообщение lordgray » 13.03.2025 20:51:56

Изначально так и хотел, собрать в Астре. Но при попытке поставить Лазаря, вылезло, примерно 20+ зависимостей, которые не устраняются из репозитория. Выискивать каждый пакет НУЖНОЙ версии, качать, и ставить вручную, чтоб полюбоваться на еще пачку других зависимостей? Сомнительное удовольствие.
Посетила мысль: если взять нужную libc6, и положить рядом с выполнимым файлом, чтоб не ставить в систему, прокатит?
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

Re: version 'GLIBC_2.34' not found

Сообщение RRYTY » 13.03.2025 21:10:27

lordgray писал(а):Но при попытке поставить Лазаря, вылезло, примерно 20+ зависимостей, которые не устраняются из репозитория


Нужно брать именно ту версию, которую предлагает официальный репозиторий. То есть, 2.4. Репозиторий сбалансирован именно с ней.

lordgray писал(а):Выискивать каждый пакет НУЖНОЙ версии, качать, и ставить вручную

Как вы уже догадались, это приведет к
lordgray писал(а):еще пачку других зависимостей

То есть, к созданию собственной ветки репозитория. :-D

lordgray писал(а):Посетила мысль: если взять нужную libc6, и положить рядом с выполнимым файлом, чтоб не ставить в систему, прокатит?


libc6 не в пустоте висит. Такие "простые" решения с системными библиотеками чреваты неявными и тяжкими последствиями.

Добавлено спустя 5 минут 12 секунд:
lordgray писал(а):Изначально так и хотел, собрать в Астре.

Это единственный путь, гарантирующий работоспособность. Все пакеты должны быть "родными", как я уже упомянул - сбалансированными по версиям и зависимостям.
RRYTY
постоялец
 
Сообщения: 242
Зарегистрирован: 25.12.2021 10:00:32

Re: version 'GLIBC_2.34' not found

Сообщение lordgray » 13.03.2025 22:18:32

Подкинул к выполнимому файлу, libc6, он её не увидел.
В репозиториях, Лазарь 2.0. Это жо.. какая-то. У меня не один проект, и пишу в основном под Винду. Это что ж получается: дописал что-то под виндой на Лазаре 3.8, и потом, перекидывай в Линукс, и модифицируй до Лазаря 2.0? И так каждый раз, когда что-то допишешь, или исправишь какую-то ошибку? Как увлекательно! О, или 2 Лазаря иметь: 2.0 для этого проекта, и 3.8 для остальных. Я в шоке.

Ладно, приду в себя, попробую разные версии Лазаря поставить в Астру. Может станет хоть что-то, новее 2.0. А там, может еще кто что подскажет.
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

Re: version 'GLIBC_2.34' not found

Сообщение RRYTY » 13.03.2025 22:40:56

lordgray писал(а):Может станет хоть что-то, новее 2.0.


Если это о Астра-смоленск или воронеж, то проконсультируйтесь с безопасниками. Самостоятельная установка пакетов, за которые во ФСТЭК еще не отстегнули, обычно не приветствуется. Удачи.
RRYTY
постоялец
 
Сообщения: 242
Зарегистрирован: 25.12.2021 10:00:32

Re: version 'GLIBC_2.34' not found

Сообщение lordgray » 13.03.2025 23:41:17

В "О системе", написано: "Astra Linux Special Edition. Уровень защищенности: базовый". О всяких городах - ни слова. Так что, что это за редакция такая - не знаю.
Спасибо, буду пробовать!
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

Re: version 'GLIBC_2.34' not found

Сообщение Seenkao » 14.03.2025 00:07:18

lordgray писал(а):Миграцию на Астру 1.8 или вообще другой дистрибутив, не предлагать, т.к. предустановлен лицензионный софт, который потеряется.

не надо мигрировать. Установи виртуалку, там установи Астру. В астре установи FPC/Lazarus, собери приложение.
Seenkao
энтузиаст
 
Сообщения: 554
Зарегистрирован: 01.04.2020 03:37:12

Re: version 'GLIBC_2.34' not found

Сообщение xchgeaxeax » 14.03.2025 00:48:37

Заходите вот сюда и ищите свою версию.
Судя по всему у вас версия 1.7 т.е. ядро линукс версии 5.4. Сейчас актуальной версией ядра линукс является уже 6.12, а (для calculate linux) стабильной 6.6.

Подробнее про версию можете узнать по команде
# dmesg | grep Linux
или
# lsb_release -a
или
# cat /etc/astra_version
P.S. # в начале команды не вводится. Она показывает, что команду надо выполнять от пользователя с правами root. Если для команды достаточно прав обычного пользователя перед командой ставится $.
xchgeaxeax
постоялец
 
Сообщения: 173
Зарегистрирован: 11.05.2023 03:51:40

Re: version 'GLIBC_2.34' not found

Сообщение lordgray » 14.03.2025 01:20:50

Так, сдвинулось дело с мертвой точки. Перепробовал несколько Лазарей, установился 3.4.0. Все последующие, используют новый метод архивации.
Один нюанс: ставить надо пакеты только через dpkg, т.к. графический менеджер, ругается на конфликты с пакетами в репозитории. Зачем он туда смотрит, и какое его дело, не понятно.
Так же пришлось доставить пакет libgtk2.0-dev, он хоть в репозитории был, и за собой, автоматом, потянул еще 88 пакетов.
Лазарь запустился, при установке сторонних компонентов, нормально пересобрался и запустился, что дает надежду, что и мой проект стартанет. Но это уже завтра.
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

Re: version 'GLIBC_2.34' not found

Сообщение Seenkao » 14.03.2025 01:37:09

FPC/Lazarus должен быть по умолчанию в пакетах.

Установи.
Потом установи нужный тебе FPC/Lazarus используя FPCUPDeluxe.

Можешь удалять FPC/Lazarus который ставил из пакетов.
Seenkao
энтузиаст
 
Сообщения: 554
Зарегистрирован: 01.04.2020 03:37:12

Re: version 'GLIBC_2.34' not found

Сообщение RRYTY » 14.03.2025 02:11:39

lordgray писал(а):Лазарь запустился, при установке сторонних компонентов, нормально пересобрался и запустился, что дает надежду, что и мой проект стартанет.


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

lordgray писал(а):графический менеджер, ругается на конфликты с пакетами в репозитории


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

Добавлено спустя 22 минуты 45 секунд:
lordgray писал(а): ставить надо пакеты только через dpkg


dpkg не проверяет зависимости других установленных пакетов от обновляемых/устанавливаемых. Этот способ еще не вбивание ногами, но уже близко к тому (dpkg можно вообще заставить не обращать внимание почти на все). Графический, более чуткий к общему состоянию системы, чем dpkg, - qapt-deb-installer.
RRYTY
постоялец
 
Сообщения: 242
Зарегистрирован: 25.12.2021 10:00:32

Re: version 'GLIBC_2.34' not found

Сообщение v-t-l » 17.03.2025 11:57:49

v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: version 'GLIBC_2.34' not found

Сообщение Attid » 18.03.2025 02:56:25

гооворят еще так можно сборочный цех собрать - https://delphius.github.io/oldglibc
но я бы так на вирталке извращался
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: version 'GLIBC_2.34' not found [решено]

Сообщение lordgray » 18.03.2025 23:39:49

Итого:
на астру 1.7.6 стал, относительно легко, лазарь 3.4. Исходники проекта с версии 3.6 открылись без проблем и каких либо сообщений. Долго мучался с Firebird 5, и подключением к базе, но ветка не об этом. Как все с ним решил, проект запустился. На данном этапе, мне этого достаточно.

Хотя, как думающий человек, мне не понятно, какая разница, на каком дистрибутиве собирать бинарник? Вот ставил я лазаря, вполне свежего, а Firebird вообще, самый новый, и никто из них не ругнулся на версию libc6. Я сомневаюсь, что их на "старье" компилировали. Опять же, что меняется в исходниках, от того, на каком дистрибутиве и с какими библиотеками я компилю? Если в libc6 v2.34 добавили какие-то новые функции, или поменялись параметры вызова, то какая разница, что я перекомпилю на версии 2.28? Что, функции уже не нужны будут? Или пофиг на новый набор/порядок параметров функций? Нет же. Тогда что меняется? Единственное, что подозреваю, так это условную компиляцию. Я не большой знаток ее, но не помню там возможностей проверки версии какой-то библиотеки. Или так: вот компилил я свой проект на Win7, и ему это не мешает работать и на Win10, Win11, и не требует он gdi32 или kernel32 из под семерки. Тут же, всё как то... Ладно, это так, мысли в слух.

v-t-l писал(а):Это пробовали? https://github.com/LongDirtyAnimAlf/fpcupdeluxe

Честно, не понял, что это такое, и зачем нужно.

Attid писал(а):говорят еще так можно сборочный цех собрать - https://delphius.github.io/oldglibc

вот это интересней. Пока решил, но буду иметь ввиду, может, когда и пригодится.

Всем спасибо за помощь!
lordgray
новенький
 
Сообщения: 66
Зарегистрирован: 10.10.2010 00:19:11

След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru