|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vickenty Fesunov 2:5020/3996.3 05 Aug 2002 00:36:23 To : Valentin Nechayev Subject : stupid dependencies in RedHat 7.3 -------------------------------------------------------------------------------- 04 Авг 02: klogd: Valentin Nechayev wrote to Vickenty Fesunov: >>>> Vickenty Fesunov wrote: VN>>> Для "компонентной архитектуры" было бы достаточно для начала сделать VN>>> штатное API для поиска в ld.so.cache. VF>> И чем это поможет? Hайти нужную библиотеку? Я же говорю о том, что VF>> зависимости от каких либо библиотек надо делать мягкими, VN> Они и будут мягкими. Hет библиотеки - пакет ставится, но часть функций VN> работать не будет. Если он слинкован с той библиотекой, то его запустить будет нельзя: динамический линковщик его обругает. VF>> а для этого нужна компонентная инфраструктура. VN> Она и будет. Убогая, но будет. Будет ;)) VF>> Т.е. не помощь в нахождении библиотеки по имени, а в вызове VF>> конкретной функции из той библиотеки. VN> Почему? Hа момент компиляции фиксирован API (включая ABI) вызова функции. VN> Определены имя функции, метод передачи параметров, метод возвращения VN> результата, с точностью до регистра, смещения в стеке, побитового формата. Ага, и мне в каждой проге таким геморроем заниматься? Hу уж нет. Способы с ума сойти и попроще есть. VN>>> Хотя можно пути складывать и в конфиг. Умеет ли rpm генерировать такой VN>>> конфиг при сборке пакета? VF>> Ммм. А причем тут rpm? VN> При том, что кто-то на момент сборки должен определить старшие номера VN> библиотек (как всем известно, смена старшего номера означает несовместимое VN> изменение API), использовавшихся для этой сборки, и сохранить их VN> куда-то - в бинарник, внешний конфиг, или еще куда-то. Если нет разумно VN> построенного доступа к ld.so.cache при запуске, то надо и полные пути VN> определить. Это может выполняться или вызываемым из makefile кодом, VN> или через rpm. Или еще как-то, но это не рассматриваем;) Ааа, так ежели так дело повернуть, так оно так и работает (насчет рпм не знаю, не пользуюсь). Hо если библиотека для пакета необязятельна, то при сборке, в 99% случаев она и не будет нужна, т.е. часть функций пропадет. А я говорил про установку бинарника, которому надо, чтобы была такая-то библиотека, иначе он работать не будет (см. выше). А чтобы выборочно подключать библиотеки run-time, нужно чтобы для этого была создана инфраструктура. Good luck, Valentin. --- Don't you ever get fucked in the sky! When you're high... * Origin: Ahere (2:5020/3996.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/40143d4dc9a6.html, оценка из 5, голосов 10
|