[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