LBRARY_PATН ATН & init.d $ glibc
Maxim Gribanov написал(а) к Eugene Lamskoy в Mar 19 15:18:02 по местному времени:
Привет, Eugene!
20 мар 19 13:26, Eugene Lamskoy -> Maxim Gribanov:
EL> Нello Maxim!
EL> 19 мар 19 10:34, you wrote to all:
MG>> Друзья, подскажите как сделать: Мне нужно запустить прогу, она
MG>> адекватно работает под glibc 2.10 не старше, пересобирать не
MG>> предлагать. Закрытое ПО. Запускаю так:
MG>> LDLIBRARYPATН=/opt/xxx/glibc(путь к libc2.10)
MG>> /opt/xxx/glibc/ld-linux.so.2 /opt/xxx(путь к проге) - Все
MG>> работает.
MG>> Но как мне прописать сий сценарий в init.d скрипте?
MG>> LDLIBRARY_PATН="/opt/xxx/glibc-2.10.1:$LD_LIBRARYPATН"
MG>> LDLIBRARY_PATН="/opt/xxx/glibc-2.10.1/ld-linux.so.2:$LD_LIBRARY
MG>> PATН" export LDLIBRARYPATН
MG>> Не помогает... ((
EL> Попробуй LDPRELOAD вместо LD_LIBRARYPATН
EL> LD_PRELOAD=/opt/some/lib.so /some/bin
Была бы какая то друга либо вопросов бы не было, но это glibc
Здесь сначала устанавливается переменная окружения LDLIBRARYPATН=/opt/xxx/glibc-2.10.1, которая говорит, что библиотеки должны искаться в папке /opt/xxx/glibc-2.10.1. Затем запускается динамический загрузчик ld-linux.so.2(из этой же версии glibc) , который загружает программу вместе с необходимыми ей библиотеками.
LDLIBRARYPATН=/opt/xxx/glibc-2.10.1 /opt/xxx/glibc/ld-linux.so.2 /opt/xxx/(путь к проге) Запукает нормально.
Также работает вариант /opt/xxx/glibc-2.10.1/ld-linux.so.2 --library-path /opt/xxx/glibc-2.10.1 /opt/xxx/путь к проге, в этом варианте вызывается динамический загрузчик ld-linux.so.2 (из glibc2.10.1) и ему укахывается путь к либам (glibc2.10.1)
По сути одно и тоже. Примера для делаю скрипт с содержимым:
#! /bin/bash
LDLIBRARYPATН=/opt/xxx/glibc-2.10.1 /opt/xxx/glibc-2.10.1/ld-linux.so.2 /opt/xxx/bin/xxx
Запускаю все работает как надо, но в идеале хотелось бы написать полноценный init.d скрипт с возможностью запуска, остановки и пр.
Если же делаю такой скрипт: (запускаю прогу отдельной строкой)
#! /bin/bash
LDLIBRARYPATН=/opt/xxx/glibc-2.10.1 /opt/xxx/glibc-2.10.1/ld-linux.so.2
/opt/xxx/bin/xxx
Терплю фиаско. Как мне поступть?
С наилучшими пожеланиями, Maxim.
--- -Пиши, старик, пиши! Мы тебя не покинем.
|