On Tue, Dec 02, 2003 at 01:03:25PM +0300, Dmitry V. Levin wrote: > > про wrapper scripts. У меня есть софт, который этой libtool'овой > > функциональностью пользуется. Как предлагается обходить эти грабли? > Вообще-то по окончании пересборки Сизифа от никаких граблей не > предвидится. Да? Насколько я понимаю, .la вычищаются отовсюду, да? Даже там, где описываются модули, как, например, в libgnomeprint2-2.4.2-alt1 (проапдейчен сегодня)? Если проведенный мной простой тест (см. например, autobook) верен, то конструкция lt_dlopenext("somemodule"); перестает работать, если удалить соответствующие .la-файлы. То есть, конечно, lt_dlopenext("somemodule.so"); работает по-прежнему, но тогда приходится указывать точное имя (то есть, с префиксом somemodule_LTX_) для каждой функции, вызываемой из этого модуля, что несколько, э-э-э, неудобно и противоречит самой идее загружаемых модулей с единым интерфейсом. То есть, я так понимаю, практика огульного убивания .la файлов просто приведет к тому, что понадобится капитально патчить приложения, которым вздумалось попользоваться плагинами (а именно, вталкивать руками в каждое из приложений функциональность, похороненную в ltdl). С другой стороны, практика НЕубивания .la для плагинов - тоже довольно чревата, т.к. очень часто плагины линкуются к материнской библиотеке (н-р, как те же самые плагины из libgnomeprint2), причем, линкуются они, опять-таки, через материнский .la-файл. Потом если кому-нибудь приспичит жестко прилинковаться к данному плагину (идея вообще плохая, но мало ли), то этот кто-то будет пренеприятно удивлен незамкнутостью дистрибутивных пакетов. Итого, сухой остаток: нынешняя политика в отношении .la файлов в Сизифе - НЕКОРРЕКТНА, т.к. напрямую противоречит документации.