TypicalPackagingErrors/BundledLibs

Материал из ALT Linux Wiki
< TypicalPackagingErrors
Версия от 15:45, 13 марта 2009; Ilis (обсуждение | вклад) (→‎libltdl)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Таскание библиотек

Если программа таскает с собой одну или более наличествующих в системе библиотек (например, zlib или libltdl) и пытается собираться штатно с ними, от этого следует отучать: как минимум такое плохо дублированием кода, как максимум -- дополнительными проблемами с исправлением ошибок в безопасности, которые порой обнаруживаются в этом самом коде. Если он оформлен исключительно разделяемой библиотекой, то достаточно обновить её и перезапустить все процессы, происходящие из слинкованных с ней бинарников; а вот если "зашит в пузо", приходится отдельно заниматься ещё и данной конкретной программой.

В клинических случаях используются слегка или сильно модифицированные версии...

При вопросах поищите в архивах письма Dmitry V. Levin и Alexey Tourbin по теме.

libltdl

> > > > > Некоторые носят модифицированный libltdl, но как правило это баги.
> > > > Не подскажете, что надо вписать в configure.ac, чтобы при наличии libltdl
> > > > в системе программа собиралась с ней, а при отсутствии -- со своими ltdl.[ch]?
> > > > И чем отличается AC_LIBLTDL_CONVENIENCE от AC_LIBLTDL_INSTALLABLE?
> > > info libtool 'Distributing libltdl'
Информация к размышлению:
Для исправления libgcj3.4 достаточно было сделать следующее:
%__subst s/AC_LIBLTDL_CONVENIENCE/AC_LIBLTDL_INSTALLABLE/ libjava/configure.in

ldv@