[devel] [FAQ] линковка плагинов
Ildar Mulyukov
ildar на altlinux.ru
Чт Дек 16 07:50:08 UTC 2010
Уважаемые коллеги,
прошу простить, что вновь поднимаю тему, которую уже не раз обсуждали,
но хотелось бы "расставить точки над Ё".
Итак, имеем:
1. библиотеку в %_libdir/ , которую используют многие программы.
2. её плагины (или модули, дело не в названии), которые располагаются в
другой папке, например %_libdir/lib%name/
У нас принято считать, что, если это возможно (а это примерно 95%
случаев), нужно линковать плагины с библиотекой, получив на выходе в
идеале не-недолинкованные плагины.
Давайте посмотрим на это с разных сторон:
1. В рамках дистрибутива это, несомненно хорошо. Такого рода связи
позволяют отслеживать зависимости, что является одним из столпов нашего
репозитария.
2. Однако бывают и другие варианты использования, включающие в себя
чужеродный софт в системе. Получается, что возможны случаи, когда
чужеродная программа, которая несёт свою версию библиотеки, поднимет
плагин, который слинкован с нашей библиотекой. Итого: пришли к двум
одинаковым библиотекам в адр. пространстве одной программы. А это плохо.
Итак вопрос: нужно ли линковать плагины с основной библиотекой, или
оставлять их недолинкованными?
Хотелось бы увидеть не только (авторитетные) мнения, но и ссылки
(желательно) на англоязычные источники.
Один из таких источников: http://wiki.mandriva.com/en/Underlinking
В пользу "альтернативной" стороны высказываются некоторые апстримы:
http://lua-users.org/wiki/BuildingModules #Do Not Link Modules to the
Lua Core Libraries
С уважением,
--
Ildar Mulyukov,
free SW designer/programmer/packager
=========================================
email: ildar на altlinux.ru
Jabber: ildar.mulyukov на gmail.com
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================
Подробная информация о списке рассылки Devel