[sisyphus] .la files

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Чт Дек 4 15:10:58 MSK 2003


On Wed, Dec 03, 2003 at 09:27:32PM +0600, Alexey Morozov wrote:
> 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_) для каждой функции, вызываемой из этого
> модуля, что несколько, э-э-э, неудобно и противоречит самой идее
> загружаемых модулей с единым интерфейсом.

Если это так, то можно пропатчить lt_dlopenext, чтобы
lt_dlopenext("somemodule");
не переставал работать.

> То есть, я так понимаю, практика огульного убивания .la файлов просто
> приведет к тому, что понадобится капитально патчить приложения, которым
> вздумалось попользоваться плагинами (а именно, вталкивать руками в каждое
> из приложений функциональность, похороненную в ltdl).

Нет.

> С другой стороны, практика НЕубивания .la для плагинов - тоже довольно
> чревата, т.к. очень часто плагины линкуются к материнской библиотеке
> (н-р, как те же самые плагины из libgnomeprint2), причем, линкуются они,
> опять-таки, через материнский .la-файл. Потом если кому-нибудь приспичит
> жестко прилинковаться к данному плагину (идея вообще плохая, но мало
> ли), то этот кто-то будет пренеприятно удивлен незамкнутостью
> дистрибутивных пакетов.

Почему?
Во-первых, libtool сам линкует плагины со всеми библиотеками, которые
указаны в dependency_libs.
Во-вторых, зачем линковаться с плагинами - они ведь не рассчитаны на такое
использование.

> Итого, сухой остаток: нынешняя политика в отношении .la файлов в Сизифе
> - НЕКОРРЕКТНА, т.к. напрямую противоречит документации.

Какой такой документации?


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20031204/64d0e70a/attachment-0019.bin>


Подробная информация о списке рассылки Sisyphus