170 похожих чатов

Добрый день джентльмены, подскажите пожалуйста как быть. На рабочей машине

стоит ubuntu 20 а на сервере 18.
компилирую на локальной машине, отправляю бинарник на сервер.
после отправки бинарника на сервер не находит `GLIBC_2.28' ,
( или другими словами - libc.so.6)
-слинковать статически, конкретно ее не получается,
-все статически слинковать можно , но ломаются треды.

как правильно поступить в такой ситуации ?
собирать в окружении целевой ОС ? была идея собирать докер с целевой ОС, и компилятором, но костыльно как то.

10 ответов

10 просмотров

лучше компилировать на более старой версии. она запуститься на новой, но не наоборот

Лучше всего с этим вопросом пройти в https://t.me/probuildsystems И там наверняка посоветуют https://github.com/wheybags/glibc_version_header

Aleksei-Kudakov Автор вопроса
Alexander Karaev
Лучше всего с этим вопросом пройти в https://t.me/...

О спасибо, за сылку, сейчас попробуем.

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

я собираю бинари в контейнерах обычно, но если так не хочется, то https://github.com/wheybags/glibc_version_header

Aleksei-Kudakov Автор вопроса

М кстати а кау делаешь? Я монтирую через - v директорию с исходниками и Cmake, Пытаюсь запускать Cmake (в самодельном контейнере с 18 убунту) он не может конфигурацию пройити. А gcc/Dockerfile at master · docker-library/gcc · GitHub https://github.com/docker-library/gcc/blob/master/10/Dockerfile Отрабатывает как и должен. Я видимо неправильно докер файл пишу, чего то недоделываю.

Aleksei-Kudakov Автор вопроса

Начальство так и порешило.

так покажите ваш докерфайл

cmake minimal required version не проходит?

Дальнейшие обсуждения этого вопроса - исключительно в @probuildsystems

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Если подытожить: По мнению Розыча и Хемуля и др. - предпочтительно по возможности объявлять в секции имплементации потому-что: 1) Выше скорость компиляции 2) Не замусоривается...
notme
7
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
В дельфе нет никакого коробочного (без установки третьих либ) способа получить CallStack с расшифровкой отладочных символов?
notme
7
Карта сайта