|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dennis Vshivkov 2:5042/7 06 Aug 2002 20:27:32 To : Valentin Nechayev Subject : Re: stupid dependencies in RedHat 7.3 -------------------------------------------------------------------------------- VF>> Ага, и мне в каждой проге таким геморроем заниматься? Hу уж нет. Способы с VF>> ума сойти и попроще есть. VN> Что ты назвал геморроем? Все сводится к нескольким простым вызовам - VN> 1) Проверка хэндла библиотеки по имени или по ключу-константе VN> 2) Поиск в ld.so.cache VN> 3) Загрузка библиотеки VN> 4) Поиск символа VN> Любая схема работы с плагинами это так или иначе умеет, а если сделать к тому VN> же, например, подгрузку всех библиотек при запуске, но без отказа грузиться VN> при частичном отсутствии - то это будет неплохим компромиссным вариантом. Hапрашивается паллиативное решение: похакать ld.so так, чтобы при ненахождении какой-либо so и/или объекта в ней бинарник таки запускался, а падал только при обращении к такому несуществующему внешнему объекту -- замапить вызовы на специальный для сей цели stub несложно. Опционально -- warnings на stderr в начале и fatal errors туда же при смерти. -- /Awesome Walrus <walrus@amur.ru> Brainbench MVP for Linux - http://www.brainbench.com --- tin/1.5.8-20010221/Blue Water, Linux/2.2.19/i686, 28 days, 00:11:39 * Origin: AVATAR, птица чёрная (2:5042/7@fidonet.org) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/17561cd5fa75a.html, оценка из 5, голосов 10
|