[devel] Re: .a vs .so
Mikhail Zabaluev
=?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Пн Янв 12 00:45:37 MSK 2004
Привет,
Алексей, спасибо за то, что нашли время на просвещение :)
Я согласен, что совсем ломать возможность статической сборки не стоит,
даже если все пакеты для этого нужно пересобирать с --enable static.
On Sun, Jan 11, 2004 at 08:23:29AM +0600, Alexey Morozov wrote:
>
> 5. После обнаружения .la-файла, оригинальный (неправленный Альтом) libtool
> использует информацию из dependency_libs для рекурсивного разворачивания
> цепочки зависимостей библиотек до самого низа. При этом очевидно, что
> при некоторых условиях возможна ситуация, когда одновременно линкеру
> передаются две версии одной и той же библиотеки (н-р, libdb4.x :-)).
>
> Это, как справедливо отметил Дмитрий Левин, чревато всякими "Ужасными
> Последствиями" для базы rpm, в частности.
Замечу, что в варианте статической линковки от Ужасных Последствий
избавиться невозможно, не изменив набора требуемых для сборки
библиотек (что почти наверняка потребует изменения кода).
> 7.2. Во-вторых, вне зависимости от характера линковки, нам, строго говоря,
> _необходима_ информация, записанная в dependency_libs. Необходимость
> этой информации обусловлена [достаточно гипотетической, впрочем]
> возможностью наличия в зависимостях статической библиотеки без
> соответствующего динамического аналога (я припоминаю, что, вроде, то ли
> libkrb, то ли libsocks [некогда] распространялся в таком вот виде).
Надеюсь, подобные случаи (наличие _только_ статической библиотеки, для
чего-то собранной libtool) уже не имеют места быть.
> 8. Предложено (Дмитрием же) альтернативное решение для проблемы из п. 5.
> libtool подправлен таким образом, чтобы при динамической сборке на линуксе
> список dependency_libs не раскрывался вовсе (при статической все
> по-прежнему).
По зрелом размышлении, мне нравится этот вариант.
Хотелось бы, чтобы при динамической линковке libtool при указании -lsome
"не замечал" наличия соответствующего .la-файла, т.е. результирующая
команда была бы одинаковой как при наличии .la, так и при его отсутствии.
Явное же указание .la-файлов в параметрах libtool я по-прежнему
считаю порочной практикой.
--
Stay tuned,
MhZ JID: mhz на altlinux.org
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/devel/attachments/20040112/9287da24/attachment-0001.bin>
Подробная информация о списке рассылки Devel