[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