ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] libart_lgpl_2.la
@ 2003-12-01 12:51 Nick Fedchik
  2003-12-01 13:41 ` Alexey Morozov
  2003-12-01 14:27 ` [sisyphus] KDE without .la (was libart_lgpl_2.la) Sergey V Turchin
  0 siblings, 2 replies; 29+ messages in thread
From: Nick Fedchik @ 2003-12-01 12:51 UTC (permalink / raw)
  To: Sisyphus List

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 1173 bytes --]

[fnm@fnm konversation-0.13]$ make
make  all-recursive
make[1]: Entering directory `/home/fnm/src/konversation-0.13'
Making all in konversation
make[2]: Entering directory `/home/fnm/src/konversation-0.13/konversation'
/bin/sh ../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor 
-Wno-long-long -Wunde
...
ce_skel.o prefspageirccolorsui.o irccolorchooserui.o -lkio -lm
libtool: link: cannot find the library `/usr/lib/libart_lgpl_2.la'
make[2]: *** [konversation] Ошибка 1
make[2]: Leaving directory `/home/fnm/src/konversation-0.13/konversation'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/fnm/src/konversation-0.13'
make: *** [all] Ошибка 2

И его действительно нет:
[fnm@fnm konversation-0.13]$ ls -1 /usr/lib/libart_*
/usr/lib/libart_lgpl_2.so
/usr/lib/libart_lgpl_2.so.2
/usr/lib/libart_lgpl_2.so.2.3.16
/usr/lib/libart_lgpl.la
/usr/lib/libart_lgpl.so
/usr/lib/libart_lgpl.so.2
/usr/lib/libart_lgpl.so.2.2.0

Установлены:
[fnm@fnm konversation-0.13]$ rpm -q -a|grep libart_lgpl
libart_lgpl-2.3.16-alt2
libart_lgpl-devel-2.3.16-alt2


-- 
Best Regards, Nick Fedchik
http://www.fedchik.org.ua/

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] libart_lgpl_2.la
  2003-12-01 12:51 [sisyphus] libart_lgpl_2.la Nick Fedchik
@ 2003-12-01 13:41 ` Alexey Morozov
  2003-12-01 14:09   ` [sisyphus] *.la Nick Fedchik
  2003-12-01 14:27 ` [sisyphus] KDE without .la (was libart_lgpl_2.la) Sergey V Turchin
  1 sibling, 1 reply; 29+ messages in thread
From: Alexey Morozov @ 2003-12-01 13:41 UTC (permalink / raw)
  To: sisyphus; +Cc: ldv

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

Читайте ченджлог пакетов. Зачем Дмитрием Левиным придумана эта полиси,
я НЕ ПОНИМАЮ. Внятного ответа в архивах списка рассылки я не нашел.
В архивах есть 
http://www.altlinux.ru/pipermail/devel/2003-November/032895.html,
но не предшествующего ему, ни последующих писем я там не нашел.

Так что, имеет смысл задать этот вопрос непосредственно Дмитрию.



[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] *.la
  2003-12-01 13:41 ` Alexey Morozov
@ 2003-12-01 14:09   ` Nick Fedchik
  2003-12-01 14:22     ` Alexey Morozov
  0 siblings, 1 reply; 29+ messages in thread
From: Nick Fedchik @ 2003-12-01 14:09 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 1323 bytes --]

В сообщении от Пн 01 Дек 2003 15:41 Alexey Morozov написал(a):
> Читайте ченджлог пакетов. Зачем Дмитрием Левиным придумана эта полиси,
> я НЕ ПОНИМАЮ. Внятного ответа в архивах списка рассылки я не нашел.
> В архивах есть
> http://www.altlinux.ru/pipermail/devel/2003-November/032895.html,
Почитал...

> но не предшествующего ему, ни последующих писем я там не нашел.
Я тоже НЕ ПОНИМАЮ.
Я также НЕ ПОНИМАЮ, почему я не могу САМ собрать нужный мне пакет, который не 
валяется готовым в Sisyphus-е... если при этом я стараюсь ВСЕГДА установить 
библиотеку из репозитория, если она там есть.
А если она там есть, и я при этом не могу сделать сборку пакета, использующего 
libtool, то я этого НЕ ПОНИМАЮ.
Я работаю на проинсталленой ALT Sisyphus потому что мне надо на ней 
разрабатывать ПО, и меня интересуют в первую очередь новые функциональности 
относящихся к разработке пакетов.
Для этого мне совершенно не нужна рассылка devel@ ...
И если там кто-то вдруг принимает такие policy, то я тоже, как Шигорин:
"Доверяю по убывающей." :(
Сегодня мне это было не критично, но кто знает что случится завтра?
И вот только не надо напоминать про "нестабильные" репозитории и т.п...

> Так что, имеет смысл задать этот вопрос непосредственно Дмитрию.
Автора, автора! :)))

-- 
Best Regards, Nick Fedchik
http://www.fedchik.org.ua/

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] *.la
  2003-12-01 14:09   ` [sisyphus] *.la Nick Fedchik
@ 2003-12-01 14:22     ` Alexey Morozov
  2003-12-01 14:54       ` [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files Grigory Batalov
  0 siblings, 1 reply; 29+ messages in thread
From: Alexey Morozov @ 2003-12-01 14:22 UTC (permalink / raw)
  To: sisyphus; +Cc: ldv

[-- Attachment #1: Type: text/plain, Size: 967 bytes --]

On Mon, Dec 01, 2003 at 04:09:44PM +0200, Nick Fedchik wrote:
> > http://www.altlinux.ru/pipermail/devel/2003-November/032895.html,
> Почитал...
Ну, тут еще рассказывали про письмо Дмитрия в devel, но сейчас у меня
там подписки нет, а в архивах - полная фигня, как всегда :-/, привет
мэйлмэну. Поэтому, видимо, нужно просить его переотправить это письмо
в Сизиф, где его прочитает существенно бОльшее количество народу.
И потом этот народ сможет решить, как ему быть в подобной ситуации.

> Для этого мне совершенно не нужна рассылка devel@ ...
> И если там кто-то вдруг принимает такие policy, то я тоже, как Шигорин:
> "Доверяю по убывающей." :(
> Сегодня мне это было не критично, но кто знает что случится завтра?
А мне, похоже, критично уже сегодня. По крайней мере, gtkhtml3 не
единственный, кто ломается в такой ситуации.

> > Так что, имеет смысл задать этот вопрос непосредственно Дмитрию.
> Автора, автора! :)))
Ну, я ставлю его в Cc: по этой переписке...


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] KDE without .la (was libart_lgpl_2.la)
  2003-12-01 12:51 [sisyphus] libart_lgpl_2.la Nick Fedchik
  2003-12-01 13:41 ` Alexey Morozov
@ 2003-12-01 14:27 ` Sergey V Turchin
  2003-12-01 14:39   ` Alexey Morozov
  1 sibling, 1 reply; 29+ messages in thread
From: Sergey V Turchin @ 2003-12-01 14:27 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 764 bytes --]

В сообщении от 1 Декабрь 2003 15:51 Nick Fedchik написал(a):

<skip/>

> ce_skel.o prefspageirccolorsui.o irccolorchooserui.o -lkio -lm
> libtool: link: cannot find the library
> `/usr/lib/libart_lgpl_2.la' make[2]: *** [konversation] Ошибка 1
> make[2]: Leaving directory
> `/home/fnm/src/konversation-0.13/konversation' make[1]: ***
> [all-recursive] Ошибка 1
> make[1]: Leaving directory `/home/fnm/src/konversation-0.13'
> make: *** [all] Ошибка 2
>
> И его действительно нет:

С KDE-шными пакетами подождите пока новые kdelibs не соберу,
новые будут работать без *.la, но для загрузки плагинов 
необходимы будут *.so в не-devel пакете

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] KDE without .la (was libart_lgpl_2.la)
  2003-12-01 14:27 ` [sisyphus] KDE without .la (was libart_lgpl_2.la) Sergey V Turchin
@ 2003-12-01 14:39   ` Alexey Morozov
  2003-12-01 15:57     ` Sergey V Turchin
  2003-12-02 10:03     ` Dmitry V. Levin
  0 siblings, 2 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-01 14:39 UTC (permalink / raw)
  To: sisyphus, Sergey V Turchin

В сообщении от Понедельник 01 Декабрь 2003 20:27 Sergey V Turchin написал(a):
> С KDE-шными пакетами подождите пока новые kdelibs не соберу,
> новые будут работать без *.la, но для загрузки плагинов
> необходимы будут *.so в не-devel пакете
Вы лучше расскажите, как с этим предлагается жить.

У меня есть libtool (сама тулза, конечно, то еще дерьмо, но, как говорится, за 
неимением горничной...) У меня есть дока на libtool, в которой ясно написано 
про wrapper scripts. У меня есть софт, который этой libtool'овой 
функциональностью пользуется. Как предлагается обходить эти грабли?



^ permalink raw reply	[flat|nested] 29+ messages in thread

* [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files
  2003-12-01 14:22     ` Alexey Morozov
@ 2003-12-01 14:54       ` Grigory Batalov
  2003-12-01 16:15         ` Nick Fedchik
  0 siblings, 1 reply; 29+ messages in thread
From: Grigory Batalov @ 2003-12-01 14:54 UTC (permalink / raw)
  To: sisyphus

On Mon, 1 Dec 2003 20:22:05 +0600
Alexey Morozov <alex-altlinux@idisys.iae.nsk.su> wrote:

> On Mon, Dec 01, 2003 at 04:09:44PM +0200, Nick Fedchik wrote:
> > > http://www.altlinux.ru/pipermail/devel/2003-November/032895.html,
> > Почитал...
> Ну, тут еще рассказывали про письмо Дмитрия в devel, но сейчас у меня
> там подписки нет, а в архивах - полная фигня, как всегда :-/, привет
> мэйлмэну. Поэтому, видимо, нужно просить его переотправить это письмо
> в Сизиф, где его прочитает существенно бОльшее количество народу.

Begin forwarded message:

Date: Mon, 1 Dec 2003 02:22:11 +0300
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: [devel] I: eliminating unneeded libtool library files


Greetings!

Тема сегодняшней лекции - о пользе и вреде .la-файлов. :)

Как вы наверняка уже знаете (а если не знаете, то info libtool),
libtool хранит вспомогательную информацию о библиотеках, с которыми
работает, в т.н. libtool-файлах (они же .la-файлы).  Эту информацию
libtool использует в процессе изготовления и использования библиотек.

Таким образом, .la-файлы жизненно необходимы libtool'у для корректной
сборки пакета.  После установки файлов из пакета в систему libtool, как
правило, не используется во время работы собранных им библиотек и
программ, поэтому вспомогательные .la-файлы для них не нужны.  Исключение
составляет лишь загрузка plugin'ов с помощью средств библиотеки ltdl.

Тем не менее авторы libtool предлагают устанавливать эти .la-файлы.
Зачем?  Тут самое время вспомнить, что GNU libtool проектировался таким
образом, чтобы реализовать поддержку как можно большего числа операционных
систем, в том числе и тех, которые не поддерживают работу с разделяемыми
библиотеками или поддерживают её в неполной (по сравнению с GNU/Linux)
мере.
Для многих таких платформ информация о зависимостях между библиотеками
не может быть записана в самих библиотеках.  Поэтому libtool сохраняет
информацию о зависимостях в .la-файлах, сопровождающих устанавливаемые
библиотеки, и использует эту информацию при сборке других библиотек и
программ.
К сожалению, libtool никогда не имел и сейчас не содержит оптимальной
поддержки всех возможностей, которые предоставляет GNU/Linux.  Поэтому при
наличии "сопровождающих" .la-файлов в системе libtool поступает так же,
как и в других системах, а именно линкует все целевые объекты со всеми
библиотеками, от которых зависят непосредственно используемые библиотеки.
Таким образом, косвенные зависимости превращаются в прямые зависимости,
т.е. программы и библиотеки оказываются слинкованными с библиотеками,
которые они непосредственно не используют.

Наглядный и простой пример из базовой системы:
Есть apt-rpm (далее просто apt), который использует библиотеку librpm.
В свою очередь librpm (а именно librpmdb) использует библиотеку libdbX для
работы с базой данных пакетов rpm (/var/lib/rpm), причём для rpm-4.0.4
у нас X == 4.0.  Сам apt никакой libdb не использует, но благодаря
libtool'у и /usr/lib/librpm*.la он линкуется не только с librpm, но и с
libdb4.0.
Теперь представьте себе, что rpm-4.0.4 перешёл с libdb4.0 на libdb4.1.
Поскольку смены API в librpm не произошло, клиенты librpm не были
пересобраны.  В момент запуска apt'а загружаются сразу две libdb:
libdb4.0, с которой был собран apt, и libdb4.1, с которой был собран
librpm.  Хорошо ещё, что apt не пишет в базу данных rpm, так что
последняя, скорее всего, уцелеет.

Этих (и других похожих) неприятностей можно было бы избежать, если бы
можно было решить одну из двух задач:
1. Исправить libtool, чтобы он нормально поддерживал link_all_deplibs=no,
т.е. не линковал то, что не требуется.  К сожалению, решение этой задачи
ничего не даст в виду специфического дизайна GNU libtool: дело в том, что
почти каждый пакет с исходным текстом, использующим для сборки libtool,
содержит свою копию libtool, и для сборки будет использована именно эта
копия, а не системный libtool.  Для того, чтобы заменить libtool на
системный цивилизованным образом, необходимо использовать aclocal и
autoconf, что не всегда возможно.
2. Убрать все вредные .la-файлы из системы.  Для решения этой задачи
достаточно один раз пересобрать содержащие вредные .la-файлы пакеты и
проследить, чтобы они туда случайно не вернулись.

По очевидным причинам я выбрал второй вариант.
В /usr/lib/rpm/brp-cleanup пакета rpm-build >= 4.0.4-alt28 добавлен код,
который удаляет все файлы, имена которых заканчиваются на .la, из
каталогов /lib, /usr/lib и /usr/X11R6/lib.  Одновременно в пакет
sisyphus >= 0.5.4-alt1 была добавлена проверка на наличие таких файлов
в пакете.

Порядок пересборки тоже важен.  Начинать нужно с тех бинарных пакетов,
которые содержат .la-файлы, в которых нет ссылок на другие .la-файлы.
Только в этом случае при пересборке произойдёт очистка от ненужных
зависимостей.

На данный момент в Сизифе всего 500 бинарных пакетов, содержащих разные
.la-файлы, в том числе и те самые вредные .la-файлы, которые сопровождают
библиотеки.  Помимо них, есть ещё много .la-файлов, сопровождающих
plugin'ы.  Иногда такие .la-файлы используются для динамической загрузки
plugin'ов с помощью средств библиотеки ltdl.  Во всех остальных случаях от
них нет ни пользы, ни вреда.

В окончание я привожу список из 50 бинарных пакетов, которые надо
пересобрать в первую очередь, ибо непересборка этих пакетов не даёт
возможности пересобрать ещё примерно 240 других бинарных пакетов.

Я прошу всех разработчиков в офисе ALT Linux незамедлительно собрать
свои пакеты из этого списка, а всех разработчиков вне офиса, кто не
может этого сделать, так же быстро написать об этом с тем, чтобы мы
могли сделать это за вас.


-- 
ldv

------->8------------
freetype2-devel
freetype-devel
gift-devel
guile14
guile16
id3lib-devel
imlib-devel
libaspell-devel
libbluez-devel
libbonobo-devel
libcdf-devel
libcurl-devel
libeel2-devel
libfaad-devel
libflac-devel
libfreetds-devel
libfribidi-devel
libgal-devel
libgii-devel
libgmp-devel
libgnome-desktop-devel
libgnome-panel-devel
libgpgme-devel
libhdf-devel
libieee1284-devel
libldap-devel
liblinc-devel
libmad-devel
libmdbtools-devel
libmetacity-devel
libmm-devel
libnessus-devel
libnetcdf-devel
libogg-devel
libopenobex-devel
libpcsclite-devel
libpilot-link-devel
librte-devel
libsasl2-devel
libSDL-devel
libsigc++1.2-devel
libsim
libsim-qt
libunixODBC-devel
libusb-devel
libxfce4util-devel
libxmms-devel
libxosd-devel
ORBit-devel
plptools-devel



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] KDE without .la (was libart_lgpl_2.la)
  2003-12-01 14:39   ` Alexey Morozov
@ 2003-12-01 15:57     ` Sergey V Turchin
  2003-12-02 10:03     ` Dmitry V. Levin
  1 sibling, 0 replies; 29+ messages in thread
From: Sergey V Turchin @ 2003-12-01 15:57 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 844 bytes --]

В сообщении от 1 Декабрь 2003 17:39 Alexey Morozov написал(a):
> В сообщении от Понедельник 01 Декабрь 2003 20:27 Sergey V Turchin 
написал(a):
> > С KDE-шными пакетами подождите пока новые kdelibs не соберу,
> > новые будут работать без *.la, но для загрузки плагинов
> > необходимы будут *.so в не-devel пакете
>
> Вы лучше расскажите, как с этим предлагается жить.
В KDE так же, как и раньше

> У меня есть libtool (сама тулза, конечно, то еще дерьмо, но, как
> говорится, за неимением горничной...) У меня есть дока на
> libtool, в которой ясно написано про wrapper scripts. У меня есть
> софт, который этой libtool'овой функциональностью пользуется. Как
> предлагается обходить эти грабли?
Не знаю, спросите у ldv@

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files
  2003-12-01 14:54       ` [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files Grigory Batalov
@ 2003-12-01 16:15         ` Nick Fedchik
  2003-12-01 16:57           ` Sergey S. Skulachenko
  0 siblings, 1 reply; 29+ messages in thread
From: Nick Fedchik @ 2003-12-01 16:15 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 587 bytes --]

В сообщении от Пн 01 Дек 2003 16:54 Grigory Batalov написал(a):
> Тема сегодняшней лекции - о пользе и вреде .la-файлов. :)
Возможно, конечно... 
Но, как говорится, свои проблемы - ближе к ... ;)
И я сказал (ранее), что я думаю по этому поводу, может оно и к лучшему, 
только вот не компиляется софтина... :(
Опять же процитирую Шигорина:
"Почему же тогда ты решаешь за других, не ставя их в *малейшую*
известность *заранее*?"
и
"Ты делаешь правильные вещи неправильным образом."
Ну про блондинку с рутовым паролем - понятно ;)

-- 
Best Regards, Nick Fedchik
http://www.fedchik.org.ua/

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files
  2003-12-01 16:15         ` Nick Fedchik
@ 2003-12-01 16:57           ` Sergey S. Skulachenko
  2003-12-01 17:17             ` Nick Fedchik
  0 siblings, 1 reply; 29+ messages in thread
From: Sergey S. Skulachenko @ 2003-12-01 16:57 UTC (permalink / raw)
  To: sisyphus

On Mon, 1 Dec 2003 18:15:50 +0200
Nick Fedchik <nick@fedchik.org.ua> wrote:

> В сообщении от Пн 01 Дек 2003 16:54 Grigory Batalov написал(a):
> > Тема сегодняшней лекции - о пользе и вреде .la-файлов. :)

> Возможно, конечно... 
> Но, как говорится, свои проблемы - ближе к ... ;)
> И я сказал (ранее), что я думаю по этому поводу, может оно и к
> лучшему, только вот не компиляется софтина... :(

Ну, и хрен с ней! Не тревожьте Вы Дмитрия и не задирайте. Чем
быстрее он исправит ситуацию, тем лучше. Пусть работает. 

-- 
С уважением,
С.С.Скулаченко


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files
  2003-12-01 16:57           ` Sergey S. Skulachenko
@ 2003-12-01 17:17             ` Nick Fedchik
  0 siblings, 0 replies; 29+ messages in thread
From: Nick Fedchik @ 2003-12-01 17:17 UTC (permalink / raw)
  To: sssku, sisyphus

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 825 bytes --]

В сообщении от Пн 01 Дек 2003 18:57 Sergey S. Skulachenko написал(a):

> > Но, как говорится, свои проблемы - ближе к ... ;)
> > И я сказал (ранее), что я думаю по этому поводу, может оно и к
> > лучшему, только вот не компиляется софтина... :(
> Ну, и хрен с ней! 
Абалдеть, шановный!!!
Вот это - подход!
Супер!
Зашибись!
Я в шоке! =8-[ ] Psycholellia!!!

> Не тревожьте Вы Дмитрия и не задирайте. 
А кого? Папу Римского?
Я что-то "левое" сказал? Без причины?

> Чем быстрее он исправит ситуацию, тем лучше. Пусть работает.
Согласен, не спорю! Заварил он "кашу" - молодец будет, 
если сам же и разгребёт!
Я бы может и помог бы, но вот теперь... :-/

ЗЫ: поздравляю тех, кого, с http://www.computersecurityday.org/ %-)
ЗЫ2: все решится в рабочем порядке, я надеюсь!

-- 
Best Regards, Nick Fedchik
http://www.fedchik.org.ua/

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] KDE without .la (was libart_lgpl_2.la)
  2003-12-01 14:39   ` Alexey Morozov
  2003-12-01 15:57     ` Sergey V Turchin
@ 2003-12-02 10:03     ` Dmitry V. Levin
  2003-12-03 15:27       ` Alexey Morozov
  1 sibling, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-02 10:03 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 756 bytes --]

On Mon, Dec 01, 2003 at 08:39:23PM +0600, Alexey Morozov wrote:
> В сообщении от Понедельник 01 Декабрь 2003 20:27 Sergey V Turchin написал(a):
> > С KDE-шными пакетами подождите пока новые kdelibs не соберу,
> > новые будут работать без *.la, но для загрузки плагинов
> > необходимы будут *.so в не-devel пакете
> Вы лучше расскажите, как с этим предлагается жить.
> 
> У меня есть libtool (сама тулза, конечно, то еще дерьмо, но, как говорится, за 
> неимением горничной...) У меня есть дока на libtool, в которой ясно написано 
> про wrapper scripts. У меня есть софт, который этой libtool'овой 
> функциональностью пользуется. Как предлагается обходить эти грабли?

Вообще-то по окончании пересборки Сизифа от никаких граблей не
предвидится.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] KDE without .la (was libart_lgpl_2.la)
  2003-12-02 10:03     ` Dmitry V. Levin
@ 2003-12-03 15:27       ` Alexey Morozov
  2003-12-04 11:55         ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Alexey Morozov
  2003-12-04 12:10         ` [sisyphus] .la files Dmitry V. Levin
  0 siblings, 2 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-03 15:27 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 1757 bytes --]

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 файлов в Сизифе
- НЕКОРРЕКТНА, т.к. напрямую противоречит документации.


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la))
  2003-12-03 15:27       ` Alexey Morozov
@ 2003-12-04 11:55         ` Alexey Morozov
  2003-12-04 12:12           ` [sisyphus] Re: .la files Dmitry V. Levin
  2003-12-04 12:29           ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Sergey Vlasov
  2003-12-04 12:10         ` [sisyphus] .la files Dmitry V. Levin
  1 sibling, 2 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-04 11:55 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 660 bytes --]

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'овой 
> > > функциональностью пользуется. Как предлагается обходить эти грабли?
> > Вообще-то по окончании пересборки Сизифа от никаких граблей не
> > предвидится.
> конструкция
> 
> lt_dlopenext("somemodule");
> 
> перестает работать, если удалить соответствующие .la-файлы. То есть,
Да, еще граблю увидал: без информации о dependency_libs статическая
линковка при помощи libtool идет лесом, насколько я понимаю, да?

Кто-нибудь прокомментирует эти два письма?


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-03 15:27       ` Alexey Morozov
  2003-12-04 11:55         ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Alexey Morozov
@ 2003-12-04 12:10         ` Dmitry V. Levin
  2003-12-05  1:28           ` Alexey Morozov
  1 sibling, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-04 12:10 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 2238 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [sisyphus] Re: .la files
  2003-12-04 11:55         ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Alexey Morozov
@ 2003-12-04 12:12           ` Dmitry V. Levin
  2003-12-04 19:27             ` Alexey Morozov
  2003-12-04 12:29           ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Sergey Vlasov
  1 sibling, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-04 12:12 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]

On Thu, Dec 04, 2003 at 05:55:48PM +0600, Alexey Morozov wrote:
> 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'овой 
> > > > функциональностью пользуется. Как предлагается обходить эти грабли?
> > > Вообще-то по окончании пересборки Сизифа от никаких граблей не
> > > предвидится.
> > конструкция
> > 
> > lt_dlopenext("somemodule");
> > 
> > перестает работать, если удалить соответствующие .la-файлы. То есть,
> Да, еще граблю увидал: без информации о dependency_libs статическая
> линковка при помощи libtool идет лесом, насколько я понимаю, да?

Это верно.
Без информации о dependency_libs статическая линковка при помощи libtool
идет лесом.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la))
  2003-12-04 11:55         ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Alexey Morozov
  2003-12-04 12:12           ` [sisyphus] Re: .la files Dmitry V. Levin
@ 2003-12-04 12:29           ` Sergey Vlasov
  2003-12-04 13:00             ` Alexey Morozov
  1 sibling, 1 reply; 29+ messages in thread
From: Sergey Vlasov @ 2003-12-04 12:29 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

On Thu, Dec 04, 2003 at 05:55:48PM +0600, Alexey Morozov wrote:
> 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'овой 
> > > > функциональностью пользуется. Как предлагается обходить эти грабли?
> > > Вообще-то по окончании пересборки Сизифа от никаких граблей не
> > > предвидится.
> > конструкция
> > 
> > lt_dlopenext("somemodule");
> > 
> > перестает работать, если удалить соответствующие .la-файлы. То есть,

*.la вычищаются не отовсюду, а лишь из стандартных каталогов для библиотек
(/lib, /usr/lib, /usr/X11R6/lib).  Плагины обычно всё-таки лежат не в этих
каталогах...

> Да, еще граблю увидал: без информации о dependency_libs статическая
> линковка при помощи libtool идет лесом, насколько я понимаю, да?

А оно надо?

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la))
  2003-12-04 12:29           ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Sergey Vlasov
@ 2003-12-04 13:00             ` Alexey Morozov
  0 siblings, 0 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-04 13:00 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 1261 bytes --]

On Thu, Dec 04, 2003 at 03:29:28PM +0300, Sergey Vlasov wrote:
> *.la вычищаются не отовсюду, а лишь из стандартных каталогов для библиотек
> (/lib, /usr/lib, /usr/X11R6/lib).  Плагины обычно всё-таки лежат не в этих
> каталогах...
rpm -ql libgnomeprint2-devel-2.4.1.1-alt1 | grep .la (последний,
насколько я знаю, пакет с .la)
rpm -ql libgnomeprint2-devel-2.4.2-alt1 | grep .la (первый без оных)

Обратите внимание на поддиректорию
/usr/lib/иbgnomeprint/<version>/modules/

Типа, "перегибы на местах" и все такое.

> > Да, еще граблю увидал: без информации о dependency_libs статическая
> > линковка при помощи libtool идет лесом, насколько я понимаю, да?
> А оно надо?
Да, надо. Да, мне. Мне периодически приходится собирать полностью
статические приложения. До сих пор это часто удавалось сделать простым
добавлением ключа сборки. Теперь мне придется руками отслеживать
зависимости статических библиотек. Очень мило.

В общем, Сергей, я хочу, чтобы "Партия" (возможно, в Вашем лице) объявила:
в дистрибутивах AltLinux использование утилиты libtool для линковки
приложений не рекомендуется, уже использующие libtool приложения
изменены уникальным для AltLinux способом, так что при неполадках
обращаться к автору бессмысленно.

С уважением,
Алексей Морозов.


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Re: .la files
  2003-12-04 12:12           ` [sisyphus] Re: .la files Dmitry V. Levin
@ 2003-12-04 19:27             ` Alexey Morozov
  2003-12-05 10:22               ` Dmitry V. Levin
  0 siblings, 1 reply; 29+ messages in thread
From: Alexey Morozov @ 2003-12-04 19:27 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]

On Thu, Dec 04, 2003 at 03:12:42PM +0300, Dmitry V. Levin wrote:
> > Да, еще граблю увидал: без информации о dependency_libs статическая
> > линковка при помощи libtool идет лесом, насколько я понимаю, да?
> Это верно.
> Без информации о dependency_libs статическая линковка при помощи libtool
> идет лесом.
Спасибо за прямой и честный ответ.
На самом деле, спасибо, без дураков.


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-04 12:10         ` [sisyphus] .la files Dmitry V. Levin
@ 2003-12-05  1:28           ` Alexey Morozov
  2003-12-05 10:35             ` Dmitry V. Levin
  0 siblings, 1 reply; 29+ messages in thread
From: Alexey Morozov @ 2003-12-05  1:28 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 3528 bytes --]

On Thu, Dec 04, 2003 at 03:10:58PM +0300, Dmitry V. Levin wrote:
> > Если проведенный мной простой тест (см. например, autobook) верен, то
> > конструкция
> > 
> > lt_dlopenext("somemodule");
> > 
> > перестает работать, если удалить соответствующие .la-файлы. То есть,
> > конечно,
> > 
> > lt_dlopenext("somemodule.so");
> > 
> > работает по-прежнему, но тогда приходится указывать точное имя (то есть,
> > с префиксом somemodule_LTX_) для каждой функции, вызываемой из этого
> > модуля, что несколько, э-э-э, неудобно и противоречит самой идее
> > загружаемых модулей с единым интерфейсом.
> 
> Если это так, то можно пропатчить lt_dlopenext, чтобы
> lt_dlopenext("somemodule");
> не переставал работать.
Вообще, мне кажется, что на этом пути нас ждут вилы почище тех, которые
пытаемся убрать (из-за необходимости догадываться об имени библиотеки,
которую предлагается грузить: это ведь не только, и не столько somemodule.so,
сколько somemodule.so.<version> или вообще фиг знает что еще можно придумать,
- не зря же library_names придуман).

Кто, кстати, придумал класть .la в -devel пакеты? Для модулей это точно
некорректно (а, вообще говоря, некорректно и для просто библиотек, но
с просто библиотеками есть сложность, связанная с возможностью
сосуществования нескольких версий, которую .la-подход никак не учитывает)

> > То есть, я так понимаю, практика огульного убивания .la файлов просто
> > приведет к тому, что понадобится капитально патчить приложения, которым
> > вздумалось попользоваться плагинами (а именно, вталкивать руками в каждое
> > из приложений функциональность, похороненную в ltdl).
> Нет.
Именно так. Так как в составе пакетов идут ltdl.* и ltmain.sh от libtool
_разных_ версий, то автоматического патча на этот повод не придумаешь.
Поэтому придется либо рассчитывать на то, что "повезет" (а патч будет
немаленький в свете сказанного выше), либо тщательно глядеть в каждую
версию каждого пакета, который захотел ltdl.

> > чревата, т.к. очень часто плагины линкуются к материнской библиотеке
> > (н-р, как те же самые плагины из libgnomeprint2), причем, линкуются они,
> > опять-таки, через материнский .la-файл. Потом если кому-нибудь приспичит
> > жестко прилинковаться к данному плагину (идея вообще плохая, но мало
> > ли), то этот кто-то будет пренеприятно удивлен незамкнутостью
> > дистрибутивных пакетов.
> 
> Почему?
> Во-первых, libtool сам линкует плагины со всеми библиотеками, которые
> указаны в dependency_libs.
Хех. В dependency_libs указана /usr/lib/libMotherlib.la :-). Можете
проверить (н-р, в модулях того же libgnomeprint2). 


> Во-вторых, зачем линковаться с плагинами - они ведь не рассчитаны на такое
> использование.
Не рассчитаны кем? Автором? А [мне] не забить на то, что он рассчитывал, а
на что - нет. У нас же таки опенсорс, а не корпорация Сони с ее шифрованными
CD-дисками. На то он и линукс/эльф, чтобы иметь возможность хотеть странного.
Собственно, только эта возможность и окупает в моих глазах некоторые
неудобства в использовании линукса в сравнении с некоторой другой
операционной системой.

> > Итого, сухой остаток: нынешняя политика в отношении .la файлов в Сизифе
> > - НЕКОРРЕКТНА, т.к. напрямую противоречит документации.
> Какой такой документации?
На libtool. И libltdl в ее составе. Могу начать сыпать цитатами, если охота.
Можно, конечно, и документацию изменить до неузнаваемости, да только
это будет "уже не Джонни" (C).

Впрочем, кажется, выход есть. Как всегда, в дебиане :-)). Правда, 
это все еще проверять надо будет, насколько это выход...


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Re: .la files
  2003-12-04 19:27             ` Alexey Morozov
@ 2003-12-05 10:22               ` Dmitry V. Levin
  2003-12-05 10:32                 ` vserge
  0 siblings, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-05 10:22 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 731 bytes --]

On Fri, Dec 05, 2003 at 01:27:54AM +0600, Alexey Morozov wrote:
> On Thu, Dec 04, 2003 at 03:12:42PM +0300, Dmitry V. Levin wrote:
> > > Да, еще граблю увидал: без информации о dependency_libs статическая
> > > линковка при помощи libtool идет лесом, насколько я понимаю, да?
> > Это верно.
> > Без информации о dependency_libs статическая линковка при помощи libtool
> > идет лесом.
> Спасибо за прямой и честный ответ.
> На самом деле, спасибо, без дураков.

Если говорить более точно, то для статической линковки при помощи libtool
любой статической библиотеки с зависимостями нужна информация об этих
зависимостях, которая в как раз в .la-файле и продублирована (оригинал
находится в .so-файле, а в .a-файле её нет).


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Re: .la files
  2003-12-05 10:22               ` Dmitry V. Levin
@ 2003-12-05 10:32                 ` vserge
  2003-12-05 10:36                   ` Dmitry V. Levin
  0 siblings, 1 reply; 29+ messages in thread
From: vserge @ 2003-12-05 10:32 UTC (permalink / raw)
  To: sisyphus

Добрый день


Вы написали "Dmitry V. Levin" <ldv@altlinux.org> Fri, 5 Dec 2003 13:22:01
+0300:

> On Fri, Dec 05, 2003 at 01:27:54AM +0600, Alexey Morozov wrote:
> > On Thu, Dec 04, 2003 at 03:12:42PM +0300, Dmitry V. Levin wrote:
> > > > Да, еще граблю увидал: без информации о dependency_libs статическая
> > > > линковка при помощи libtool идет лесом, насколько я понимаю, да?
> > > Это верно.
> > > Без информации о dependency_libs статическая линковка при помощи libtool
> > > идет лесом.
> > Спасибо за прямой и честный ответ.
> > На самом деле, спасибо, без дураков.
> 
> Если говорить более точно, то для статической линковки при помощи libtool
> любой статической библиотеки с зависимостями нужна информация об этих
> зависимостях, которая в как раз в .la-файле и продублирована (оригинал
> находится в .so-файле, а в .a-файле её нет).
И что в этом случае делать с плагинами???

я спашиваю так как начал пересобирать openldap??




^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-05  1:28           ` Alexey Morozov
@ 2003-12-05 10:35             ` Dmitry V. Levin
  2003-12-05 11:39               ` Alexey Morozov
  0 siblings, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-05 10:35 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 4061 bytes --]

On Fri, Dec 05, 2003 at 07:28:31AM +0600, Alexey Morozov wrote:
> On Thu, Dec 04, 2003 at 03:10:58PM +0300, Dmitry V. Levin wrote:
> > > Если проведенный мной простой тест (см. например, autobook) верен, то
> > > конструкция
> > > 
> > > lt_dlopenext("somemodule");
> > > 
> > > перестает работать, если удалить соответствующие .la-файлы. То есть,
> > > конечно,
> > > 
> > > lt_dlopenext("somemodule.so");
> > > 
> > > работает по-прежнему, но тогда приходится указывать точное имя (то есть,
> > > с префиксом somemodule_LTX_) для каждой функции, вызываемой из этого
> > > модуля, что несколько, э-э-э, неудобно и противоречит самой идее
> > > загружаемых модулей с единым интерфейсом.
> > 
> > Если это так, то можно пропатчить lt_dlopenext, чтобы
> > lt_dlopenext("somemodule");
> > не переставал работать.
> Вообще, мне кажется, что на этом пути нас ждут вилы почище тех, которые
> пытаемся убрать (из-за необходимости догадываться об имени библиотеки,
> которую предлагается грузить: это ведь не только, и не столько somemodule.so,
> сколько somemodule.so.<version> или вообще фиг знает что еще можно придумать,
> - не зря же library_names придуман).

Тем, кому нужно использовать ltdl и library_names, придётся оставить
.la-файлы.  А в простых случаях оно должно работать as is.

> Кто, кстати, придумал класть .la в -devel пакеты? Для модулей это точно
> некорректно (а, вообще говоря, некорректно и для просто библиотек, но
> с просто библиотеками есть сложность, связанная с возможностью
> сосуществования нескольких версий, которую .la-подход никак не учитывает)

Отец Всех Дистрибутивов?

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

А "libtoolize --ltdl"?

> Поэтому придется либо рассчитывать на то, что "повезет" (а патч будет
> немаленький в свете сказанного выше), либо тщательно глядеть в каждую
> версию каждого пакета, который захотел ltdl.

Это слишком пессимистичный прогноз.

> > > чревата, т.к. очень часто плагины линкуются к материнской библиотеке
> > > (н-р, как те же самые плагины из libgnomeprint2), причем, линкуются они,
> > > опять-таки, через материнский .la-файл. Потом если кому-нибудь приспичит
> > > жестко прилинковаться к данному плагину (идея вообще плохая, но мало
> > > ли), то этот кто-то будет пренеприятно удивлен незамкнутостью
> > > дистрибутивных пакетов.
> > 
> > Почему?
> > Во-первых, libtool сам линкует плагины со всеми библиотеками, которые
> > указаны в dependency_libs.
> Хех. В dependency_libs указана /usr/lib/libMotherlib.la :-). Можете
> проверить (н-р, в модулях того же libgnomeprint2). 

Но ведь модули того же libgnomeprint2 наверняка слинкованы с -lMotherlib?

> > Во-вторых, зачем линковаться с плагинами - они ведь не рассчитаны на такое
> > использование.
> Не рассчитаны кем? Автором? А [мне] не забить на то, что он рассчитывал, а
> на что - нет. У нас же таки опенсорс, а не корпорация Сони с ее шифрованными
> CD-дисками. На то он и линукс/эльф, чтобы иметь возможность хотеть странного.

Если автор не предусмотрел возможность линковаться с плагинами, то вполне
естественно, что придётся патчить как минимум makefile'ы.

> Собственно, только эта возможность и окупает в моих глазах некоторые
> неудобства в использовании линукса в сравнении с некоторой другой
> операционной системой.
> 
> > > Итого, сухой остаток: нынешняя политика в отношении .la файлов в Сизифе
> > > - НЕКОРРЕКТНА, т.к. напрямую противоречит документации.
> > Какой такой документации?
> На libtool. И libltdl в ее составе. Могу начать сыпать цитатами, если охота.
> Можно, конечно, и документацию изменить до неузнаваемости, да только
> это будет "уже не Джонни" (C).

Я бы изменил и документацию.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] Re: .la files
  2003-12-05 10:32                 ` vserge
@ 2003-12-05 10:36                   ` Dmitry V. Levin
  0 siblings, 0 replies; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-05 10:36 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 494 bytes --]

On Fri, Dec 05, 2003 at 01:32:11PM +0300, vserge wrote:
> > Если говорить более точно, то для статической линковки при помощи libtool
> > любой статической библиотеки с зависимостями нужна информация об этих
> > зависимостях, которая в как раз в .la-файле и продублирована (оригинал
> > находится в .so-файле, а в .a-файле её нет).
> И что в этом случае делать с плагинами???
> 
> я спашиваю так как начал пересобирать openldap??

Для начала стоит посмотреть на openldap-2.1.23-alt3.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-05 10:35             ` Dmitry V. Levin
@ 2003-12-05 11:39               ` Alexey Morozov
  2003-12-05 11:49                 ` [sisyphus] [OT] " Andrey Khavryuchenko
  2003-12-05 12:06                 ` [sisyphus] " Dmitry V. Levin
  0 siblings, 2 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-05 11:39 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 3656 bytes --]

On Fri, Dec 05, 2003 at 01:35:11PM +0300, Dmitry V. Levin wrote:
> > Вообще, мне кажется, что на этом пути нас ждут вилы почище тех, которые
> > пытаемся убрать (из-за необходимости догадываться об имени библиотеки,
> > которую предлагается грузить: это ведь не только, и не столько somemodule.so,
> > сколько somemodule.so.<version> или вообще фиг знает что еще можно придумать,
> > - не зря же library_names придуман).
> 
> Тем, кому нужно использовать ltdl и library_names, придётся оставить
> .la-файлы.  А в простых случаях оно должно работать as is.
Осталось понять, кому нужно, а кто так, приидывается. Ладно, решабельная
задача.

> > Кто, кстати, придумал класть .la в -devel пакеты? Для модулей это точно
> > некорректно (а, вообще говоря, некорректно и для просто библиотек, но
> > с просто библиотеками есть сложность, связанная с возможностью
> > сосуществования нескольких версий, которую .la-подход никак не учитывает)
> Отец Всех Дистрибутивов?
:-)) RH, что-ли? :-)
Я всегда знал, что там не читают то, что пишут :-).


> > Именно так. Так как в составе пакетов идут ltdl.* и ltmain.sh от libtool
> > _разных_ версий, то автоматического патча на этот повод не придумаешь.
> А "libtoolize --ltdl"?
Ну, видимо, придется. Хотя, на самом деле, судя по степени кривизны при
использовании autotools, процесс этот чреват :-)). Давеча ковырялся в
gtk-engines-1.x, кажется, очень удивлялся. откуда у меня из ./configure
ссылка на ltconfig, несмотря на свежий libtool и многократный libtoolize
--force

Оказалось, что эти <beep> просто положили в acinclude.m4 все макросы,
которые относятся к libtool. Так что, libtoolize --ltdl не всегда
сработает :-)

> > Хех. В dependency_libs указана /usr/lib/libMotherlib.la :-). Можете
> > проверить (н-р, в модулях того же libgnomeprint2). 
> Но ведь модули того же libgnomeprint2 наверняка слинкованы с -lMotherlib?
Если остается .la файл, то libtool при линковке глядит, в основном, в
него, а уж потом на то, кто там с кем слинкован :-).

> > Не рассчитаны кем? Автором? А [мне] не забить на то, что он рассчитывал, а
> > на что - нет. У нас же таки опенсорс, а не корпорация Сони с ее шифрованными
> > CD-дисками. На то он и линукс/эльф, чтобы иметь возможность хотеть странного.
> Если автор не предусмотрел возможность линковаться с плагинами, то вполне
> естественно, что придётся патчить как минимум makefile'ы.
Собственно говоря, "плагин" - это разделяемая библиотека с заранее
определенными точками входа. То есть, для того, чтобы линковаться с
плагинами, например, xmms'а (неважно, кем они писаны), достаточно
почитать соответствующий .h в _libxmms_ (или где у них там определен
интерфейс для плагинов). После чего можно ехать.

> > Можно, конечно, и документацию изменить до неузнаваемости, да только
> > это будет "уже не Джонни" (C).
> Я бы изменил и документацию.
Это круто. "Дорогой qmail'а идете, товарищи!" (моё) и

"Мы, в Microsoft, считаем, что любой стандарт всегда можно улучшить" (из
книжки про устройство каких-то потрохов в NT+, кажется; от MS Press)
Не боитесь, что Вам запретят распространять libtool разгневанные авторы?
:-)


На самом деле, некоторое предварительное решение находится здесь
http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg00844.html
(нарыл вчера). Оно по-прежнему не учитывает необходимости сохранения
dependency_libs для статических библиотек, и оно требует пересоздания
libtool'овых потрохов для каждого пакета (libtoolize --force в массы!)
Автор пока молчит, если ничего не изменится, я сам подправлю все это
барахло, так, чтобы при статической сборке использовались dependency_libs.
Судя по всему, там все же, не так много надо будет править.


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [sisyphus] [OT] Re: .la files
  2003-12-05 11:39               ` Alexey Morozov
@ 2003-12-05 11:49                 ` Andrey Khavryuchenko
  2003-12-05 12:26                   ` [sisyphus] [JT] " Alexey Morozov
  2003-12-05 12:06                 ` [sisyphus] " Dmitry V. Levin
  1 sibling, 1 reply; 29+ messages in thread
From: Andrey Khavryuchenko @ 2003-12-05 11:49 UTC (permalink / raw)
  To: sisyphus

Alexey,

"AM" == Alexey Morozov wrote:

 AM> On Fri, Dec 05, 2003 at 01:35:11PM +0300, Dmitry V. Levin wrote:
 >> Отец Всех Дистрибутивов?
 AM> :-)) RH, что-ли? :-)

Тогда Slackware - это мама :)

-- 
Andrey V Khavryuchenko            http://www.kds.com.ua/
Silver Bullet Software Solutions  http://www.kds.com.ua/training/


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-05 11:39               ` Alexey Morozov
  2003-12-05 11:49                 ` [sisyphus] [OT] " Andrey Khavryuchenko
@ 2003-12-05 12:06                 ` Dmitry V. Levin
  2003-12-05 12:24                   ` Alexey Morozov
  1 sibling, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-12-05 12:06 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 3129 bytes --]

On Fri, Dec 05, 2003 at 05:39:01PM +0600, Alexey Morozov wrote:
> On Fri, Dec 05, 2003 at 01:35:11PM +0300, Dmitry V. Levin wrote:
> > > Вообще, мне кажется, что на этом пути нас ждут вилы почище тех, которые
> > > пытаемся убрать (из-за необходимости догадываться об имени библиотеки,
> > > которую предлагается грузить: это ведь не только, и не столько somemodule.so,
> > > сколько somemodule.so.<version> или вообще фиг знает что еще можно придумать,
> > > - не зря же library_names придуман).
> > 
> > Тем, кому нужно использовать ltdl и library_names, придётся оставить
> > .la-файлы.  А в простых случаях оно должно работать as is.
> Осталось понять, кому нужно, а кто так, приидывается. Ладно, решабельная
> задача.

Всякий, кто не использует ltdl, прикидывается.
Это можно nm'ом проверить.

> > > Именно так. Так как в составе пакетов идут ltdl.* и ltmain.sh от libtool
> > > _разных_ версий, то автоматического патча на этот повод не придумаешь.
> > А "libtoolize --ltdl"?
> Ну, видимо, придется. Хотя, на самом деле, судя по степени кривизны при
> использовании autotools, процесс этот чреват :-)). Давеча ковырялся в
> gtk-engines-1.x, кажется, очень удивлялся. откуда у меня из ./configure
> ссылка на ltconfig, несмотря на свежий libtool и многократный libtoolize
> --force
> 
> Оказалось, что эти <beep> просто положили в acinclude.m4 все макросы,
> которые относятся к libtool. Так что, libtoolize --ltdl не всегда
> сработает :-)

Поскольку "libtoolize --ltdl" копирует /usr/share/libtool/libltdl в
сборочное дерево, работать оно всё-таки будет.

> > > Хех. В dependency_libs указана /usr/lib/libMotherlib.la :-). Можете
> > > проверить (н-р, в модулях того же libgnomeprint2). 
> > Но ведь модули того же libgnomeprint2 наверняка слинкованы с -lMotherlib?
> Если остается .la файл, то libtool при линковке глядит, в основном, в
> него, а уж потом на то, кто там с кем слинкован :-).

Нет, libtool даже не смотрит, кто там с кем слинкован.

> > > Можно, конечно, и документацию изменить до неузнаваемости, да только
> > > это будет "уже не Джонни" (C).
> > Я бы изменил и документацию.
> Это круто. "Дорогой qmail'а идете, товарищи!" (моё) и
> 
> "Мы, в Microsoft, считаем, что любой стандарт всегда можно улучшить" (из
> книжки про устройство каких-то потрохов в NT+, кажется; от MS Press)
> Не боитесь, что Вам запретят распространять libtool разгневанные авторы?
> :-)

Этим авторам ещё работать и работать надо, а не гневаться.

> На самом деле, некоторое предварительное решение находится здесь
> http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg00844.html
> (нарыл вчера). Оно по-прежнему не учитывает необходимости сохранения
> dependency_libs для статических библиотек, и оно требует пересоздания
> libtool'овых потрохов для каждого пакета (libtoolize --force в массы!)

Да, это я уже обдумывал.  К сожалению, "libtoolize --force" в массы
обойдётся на гораздо дороже.

> Автор пока молчит, если ничего не изменится, я сам подправлю все это
> барахло, так, чтобы при статической сборке использовались dependency_libs.
> Судя по всему, там все же, не так много надо будет править.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] .la files
  2003-12-05 12:06                 ` [sisyphus] " Dmitry V. Levin
@ 2003-12-05 12:24                   ` Alexey Morozov
  0 siblings, 0 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-05 12:24 UTC (permalink / raw)
  To: ALT Linux Sisyphus mailing list

[-- Attachment #1: Type: text/plain, Size: 1317 bytes --]

On Fri, Dec 05, 2003 at 03:06:35PM +0300, Dmitry V. Levin wrote:
> > Осталось понять, кому нужно, а кто так, приидывается. Ладно, решабельная
> > задача.
> Всякий, кто не использует ltdl, прикидывается.
> Это можно nm'ом проверить.
Даже если это пострипанное приложение с convenience library? Сомневаюсь.

> > Если остается .la файл, то libtool при линковке глядит, в основном, в
> > него, а уж потом на то, кто там с кем слинкован :-).
> Нет, libtool даже не смотрит, кто там с кем слинкован.
Ну, тем более.

> > Не боитесь, что Вам запретят распространять libtool разгневанные авторы?
> > :-)
> Этим авторам ещё работать и работать надо, а не гневаться.
:-). Даже если и так, Copyright (или Copyleft) никто не отменял.
Поэтому попросить не распространять это как libtool вполне можно.

> > На самом деле, некоторое предварительное решение находится здесь
> > http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg00844.html
> > (нарыл вчера). Оно по-прежнему не учитывает необходимости сохранения
> > dependency_libs для статических библиотек, и оно требует пересоздания
> > libtool'овых потрохов для каждого пакета (libtoolize --force в массы!)
> Да, это я уже обдумывал.  К сожалению, "libtoolize --force" в массы
> обойдётся на гораздо дороже.
Гхм. Зато хотя бы какое-то подобие правильного решения.


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [sisyphus] [JT] Re: .la files
  2003-12-05 11:49                 ` [sisyphus] [OT] " Andrey Khavryuchenko
@ 2003-12-05 12:26                   ` Alexey Morozov
  0 siblings, 0 replies; 29+ messages in thread
From: Alexey Morozov @ 2003-12-05 12:26 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: Type: text/plain, Size: 300 bytes --]

On Fri, Dec 05, 2003 at 01:49:24PM +0200, Andrey Khavryuchenko wrote:
>  AM> On Fri, Dec 05, 2003 at 01:35:11PM +0300, Dmitry V. Levin wrote:
>  >> Отец Всех Дистрибутивов?
>  AM> :-)) RH, что-ли? :-)
> Тогда Slackware - это мама :)
По-моему, слакварь уже давно не претендовала на "инновационность".

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2003-12-05 12:26 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-01 12:51 [sisyphus] libart_lgpl_2.la Nick Fedchik
2003-12-01 13:41 ` Alexey Morozov
2003-12-01 14:09   ` [sisyphus] *.la Nick Fedchik
2003-12-01 14:22     ` Alexey Morozov
2003-12-01 14:54       ` [sisyphus] Fw: [devel] I: eliminating unneeded libtool library files Grigory Batalov
2003-12-01 16:15         ` Nick Fedchik
2003-12-01 16:57           ` Sergey S. Skulachenko
2003-12-01 17:17             ` Nick Fedchik
2003-12-01 14:27 ` [sisyphus] KDE without .la (was libart_lgpl_2.la) Sergey V Turchin
2003-12-01 14:39   ` Alexey Morozov
2003-12-01 15:57     ` Sergey V Turchin
2003-12-02 10:03     ` Dmitry V. Levin
2003-12-03 15:27       ` Alexey Morozov
2003-12-04 11:55         ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Alexey Morozov
2003-12-04 12:12           ` [sisyphus] Re: .la files Dmitry V. Levin
2003-12-04 19:27             ` Alexey Morozov
2003-12-05 10:22               ` Dmitry V. Levin
2003-12-05 10:32                 ` vserge
2003-12-05 10:36                   ` Dmitry V. Levin
2003-12-04 12:29           ` [sisyphus] Удаление .la-файлов (was KDE without .la (was libart_lgpl_2.la)) Sergey Vlasov
2003-12-04 13:00             ` Alexey Morozov
2003-12-04 12:10         ` [sisyphus] .la files Dmitry V. Levin
2003-12-05  1:28           ` Alexey Morozov
2003-12-05 10:35             ` Dmitry V. Levin
2003-12-05 11:39               ` Alexey Morozov
2003-12-05 11:49                 ` [sisyphus] [OT] " Andrey Khavryuchenko
2003-12-05 12:26                   ` [sisyphus] [JT] " Alexey Morozov
2003-12-05 12:06                 ` [sisyphus] " Dmitry V. Levin
2003-12-05 12:24                   ` Alexey Morozov

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git