LINUX.ORG.RU

@mrjaggers, что значит реакция клоуна под моим вопросом? Что с ним не так?

Могу сформулировать иначе. Как подсунуть игре нужные ей версии библиотек, не меняя их в системе?

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

А так LD_LIBRARY_PATH используй.

Попробовал LD_PRELOAD. Так как ругань сразу на две библиотеки, я проверил указание пути то к одной, то другой. В этом случае остаётся ругань на неуказанную библиотеку. Указав одновременно обе библиотеки, я получил ошибку сегментирования. Использование LD_LIBRARY_PATH сразу приводит к ошибке сегментирования.

Подсунешь одну библиотеку, уже она начнёт жаловаться на другую версию GLIB.

Проблема в том, что на версию уже не жалуется. Как понять, чего ещё не хватает?

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

«Внесистемную» glibc нельзя «подсунуть» через LD_LIBRARY_PATH или LD_PRELOAD (так как эти переменные интерпретирует загрузчик glibc). Правильно делать так

/путь/к/нужному/ld-linux.so <исполняемый бинарник> <его параметры>

где ld-linux.so должен быть от той glibc, с которой надо запустить. Если заработает, то можно применить к бинарнику команду

patchelf --set-interpreter /путь/к/нужному/ld-linux.so

после чего нужный ld-linux.so будет использоваться автоматически

annulen ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария