From: "Dmitry Kazimirov" <d.kazimirov@olivema.com>
To: "ALT Linux Sisyphus discussion list" <sisyphus@altlinux.ru>
Subject: Re: [sisyphus] Re: пережёвываем libtool
Date: Mon, 11 Apr 2005 11:53:29 +0600
Message-ID: <004f01c53e5a$c9819a60$c464a8c0@OLIVEMA> (raw)
In-Reply-To: <20050408134734.GA8213@basalt.office.altlinux.org>
Прошу прощения, что опять поднимаю эту мутную тему.
Просто я письмо написал в пятницу вечером, а потом на
сервере питание выключили, и послать я его не смог.
Libtool пожевали, теперь нужно выплюнуть. :-)
> Извините, libtool не должен подменять программисту голову. Если
> APP использует libBASE, извольте написать об этом в Makefile.
Так вот очень часто бывает так, что в Makefile о таких
зависимостях не пишут. Вот пример:
Допустим, в приложении APP некий программист использует
обертку BASE++ для обращения к структурам и функциям
библиотеки BASE. Интерфейсы классов BASE++ полностью
скрывают от программиста эти функции и структуры данных,
однако они (эти структуры из BASE) присутствуют в виде членов
классов BASE++. Таким образом у модулей, использующих BASE++,
сохраняется зависимость от BASE по ABI или даже API - в
случае, если функции BASE обернуты inline-методами BASE++).
Внимание, вопрос! Как много программистов, использующих
BASE++, но ничего не знающих о структурах BASE, догадаются
включить библиотеку BASE в зависимости своего приложения?
Ответ - немногие. Но об этом может позаботиться libtool.
Более того, указывать зависимость от BASE в приложениях,
использующих BASE++, было бы неверно. Ведь я использую
обертку! Я понадеялся, что она реализована правильно.
Да и мало ли что случится с базовой библиотекой...
Она может быть переименована, разделена на две и прочее.
Хоть мое приложение и зависит от BASE вследствие не самого
лучшего способа реализации BASE++, я не должен все время
следить, какие там базовые библиотеки использует BASE++.
Сегодня одну, завтра две другие. Об этом может позаботиться
libtool. Но лучше пусть BASE++ перепишут нормально, чтобы
исключить такую косвенную зависимость моего приложения от
BASE. А еще лучше пусть сам BASE напишут нормально, чтобы
сократить ABI до передачи указателей, а API стандартизировать.
Тогда у авторов BASE++ почти не будет шансов неправильно
спроектировать свою библиотеку.
Однако! Все это пережевывание libtool яйца выеденного
не стоит. Можно приводить много примеров, для которых имеет
смысл оставлять файлы *.la, но польза от них перечеркивается
практической выгодой в сокращении трафика на выкачивании
пакетов по лишним зависимостям.
И уж однозначно нормальные приложения не должны требовать
присутствия файлов *.la. Можно включать файлы *.la, а лучше,
конечно, их не включать, но вот требовать их присутсвия никак
нельзя.
И требует эти файлы, заметьте, не libtool, на который тут
незаслуженно наехали, а извращенные скрипты для построения
отдельно взятого приложения. Или даже не отдельно взятого, а
(о, ужас) многих приложений KDE. Вот для них и надо найти
"правильную замену". :-)
next prev parent reply other threads:[~2005-04-11 5:53 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-04 9:39 [sisyphus] Рационализаторам посвящается Ruslan Popov
2005-04-04 9:30 ` Igor Zubkov
2005-04-04 10:40 ` Ruslan Popov
2005-04-04 12:05 ` Dmitry Kazimirov
2005-04-04 11:44 ` Igor Zubkov
2005-04-04 13:14 ` Dmitry Kazimirov
2005-04-04 12:27 ` Ruslan Popov
2005-04-04 12:59 ` [sisyphus] [JT] " Dmitry Kazimirov
2005-04-04 14:01 ` Ruslan Popov
2005-04-05 4:09 ` Mike Lykov
2005-04-04 13:08 ` [sisyphus] " Andrey Rahmatullin
2005-04-04 9:47 ` Alexey I. Froloff
2005-04-04 9:53 ` Ruslan Popov
2005-04-04 9:54 ` Led
2005-04-04 10:06 ` Ruslan Popov
2005-04-04 10:15 ` Alexey I. Froloff
2005-04-04 10:24 ` Ruslan Popov
2005-04-06 19:30 ` [sisyphus] " Arioch
2005-04-06 20:22 ` [sisyphus] Re: пережёвываем libtool Dmitry V. Levin
2005-04-08 8:01 ` Alexey Borovskoy
2005-04-08 12:25 ` Dmitry Kazimirov
2005-04-08 12:39 ` Alexey I. Froloff
2005-04-08 12:43 ` Ivan Fedorov
2005-04-08 12:47 ` Alexey I. Froloff
2005-04-08 13:26 ` Dmitry Kazimirov
2005-04-08 13:32 ` Alexey I. Froloff
2005-04-08 13:41 ` Dmitry Kazimirov
2005-04-08 13:47 ` Alexey I. Froloff
2005-04-08 13:58 ` Dmitry Kazimirov
2005-04-08 14:01 ` Eugene Ostapets
2005-04-08 14:30 ` Nick S. Grechukh
2005-04-08 14:41 ` Eugene Ostapets
2005-04-08 14:26 ` Nick S. Grechukh
2005-04-10 13:37 ` Vitaly Ostanin
2005-04-08 12:54 ` Nick S. Grechukh
2005-04-08 13:20 ` Dmitry Kazimirov
2005-04-08 13:13 ` Dmitry Kazimirov
2005-04-08 13:21 ` Dmitry V. Levin
2005-04-08 13:32 ` Dmitry Kazimirov
2005-04-08 13:47 ` Dmitry V. Levin
2005-04-11 5:53 ` Dmitry Kazimirov [this message]
2005-04-13 16:08 ` [sisyphus] [JT] rpm + libdb4.x + libdb4.x = rm -f *.la (was: пережёвываем libtool) Michael Shigorin
2005-04-09 17:29 ` [sisyphus] Re: пережёвываем libtool Alexey Tourbin
2005-04-09 8:44 ` Alexey Borovskoy
2005-04-04 14:33 ` [sisyphus] Рационализаторам посвящается Led
2005-04-05 6:31 ` Ruslan Popov
2005-04-05 6:41 ` Led
2005-04-05 6:51 ` Ruslan Popov
2005-04-05 7:09 ` Led
2005-04-05 7:19 ` Ruslan Popov
2005-04-05 11:13 ` Dmitry V. Levin
2005-04-05 11:39 ` Ruslan Popov
2005-04-05 11:43 ` Nick S. Grechukh
2005-04-05 11:47 ` Dmitry V. Levin
2005-04-05 11:56 ` Ivan Fedorov
2005-04-05 11:58 ` Genix
2005-04-05 12:05 ` Genix
2005-04-06 14:26 ` [sisyphus] " Arioch
2005-04-07 5:34 ` Genix
2005-04-07 6:37 ` [sisyphus] даты в почтовом архиве (was: Рационализаторам посвящается...) Michael Shigorin
2005-04-05 13:31 ` [sisyphus] Рационализаторам посвящается Ruslan Popov
2005-04-05 13:38 ` Andrey Rahmatullin
2005-04-06 6:34 ` Ruslan Popov
2005-04-06 7:01 ` Andrey Rahmatullin
2005-04-05 21:47 ` Dmitry V. Levin
2005-04-04 16:06 ` Andrey Rahmatullin
2005-04-04 10:20 ` [sisyphus] " Michael Shigorin
2005-04-04 9:49 ` Igor Zubkov
2005-04-04 11:43 ` Led
2005-04-04 13:33 ` Arioch
2005-04-04 14:36 ` Led
2005-04-04 20:17 ` Michael Shigorin
2005-04-04 22:03 ` Arioch
2005-04-05 10:15 ` Michael Shigorin
2005-04-05 10:23 ` Arioch
2005-04-05 6:20 ` Led
2005-04-05 6:21 ` Led
2005-04-05 6:44 ` Michael Shigorin
2005-04-04 10:26 ` Ruslan Popov
2005-04-04 10:26 ` [sisyphus] " Valery Pipin
2005-04-04 10:30 ` Guest007
2005-04-04 10:38 ` Led
2005-04-04 10:51 ` Guest007
2005-04-04 11:09 ` Valery Pipin
2005-04-04 11:20 ` Guest007
2005-04-04 11:04 ` Valery Pipin
2005-04-04 11:16 ` Guest007
2005-04-04 11:48 ` Valery Pipin
2005-04-04 12:12 ` Guest007
2005-04-05 3:28 ` Valery Pipin
2005-04-04 14:20 ` Sergey
2005-04-04 15:37 ` Valery Pipin
2005-04-04 11:52 ` Guest007
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='004f01c53e5a$c9819a60$c464a8c0@OLIVEMA' \
--to=d.kazimirov@olivema.com \
--cc=sisyphus@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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