autoreq z libtoola w rpmie
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Wto, 12 Lis 2002, 17:31:28 CET
On Tue, 12 Nov 2002, Jakub Bogusz wrote:
> On Fri, Nov 08, 2002 at 10:31:26PM +0100, Tomasz Kłoczko wrote:
> > On Fri, 8 Nov 2002, Andrzej Krzysztofowicz wrote:
> [...]
> > > Oczywiscie, jesli to sie wszedzie poprawi... (to moze chociaz biblioteki
> > > beda skonsolidowane prawidlowo...)
> >
> > Jest poprostu poptrzebne narzędzie do analizy plików elf które bezie
> > wypisywać odpowidnie ostrzerzenai nie tylko o nadmiarowych linkownaich ale
> > takzę o tym że jest używany jakiś symbol który nie jest obecny w żadnej
> > innej bibliotece z jaką jest zlinlowana biblioteka. To jest akurat proste
> > do sprawdzenia. linkownie w ciemno z daną bibliotekę z pustym "main() {}"
> > powinno wystarczyć.
>
> libtool jest znakomitym źródłem nadmiarowego linkowania :>
> Wystarczy popatrzeć na te kilkuekranowe libtool --mode=link przy
> budowaniu pakietów GNOME :)))
Jezlei w biblliotekach z jakimi linkowane są programy czy kolejne
biblioteki nie ma błeów to dalej takze ich nie może być :)
.. i to niezaleznie odtego, że po złożeniu wszytkiego do kupy i nie
wycinaniu duplikatów -l<foo> wylatują z tego tony parametrów :)
> Nie ma kontroli powtórzonych -l... (niby nie przeszkadza - chociaż po co
> kilkadziesiąt razy pod rząd -ldl lub -lc???; a kolejność ma znaczenie
> tylko przy statycznym linkowaniu). Podobnie z -L.
Wycięcie pdwójnych -l<foo> dałoby zapewne tylko tyle ze linkowanie
przebiegałoby znacznie szybciej.
[..]
> A propos korzystania z libtoola - czy %{_libdir}/lib*.la (dla bibliotek,
> nie modułów) wywalane z kde* nie miały trafić do pakietów *-devel,
> zamiast do /dev/null?
O ile to są np. .la z tych haków w których cały prohgram jest ładowany do
%{_libdir}/<prog>.so i linkowany z pustym dummy.c to <prog>.la do niczego
nie bęzie już potrzebny. Ergo wszelkim %{_libdir}/<foo>.?? należy się
przyjrzeć. Na pewno %{_libdir}/lib<foo>.?? nie podlega powyższemu choć w
kilku miejscach zdaje się że nie jest tworzone <prog>.so tylko
lib<prog>.so i wtedy o ile tak by było to lib<prog>.la też jest do
wywalenia.
To tyle jeśli chodzi o %{_libdir}/*so. W przypadku częśi
%{_libdir}/kde3/*.so też mozńa wywalić %{_libdir}/kde3/*.la o ile nie jest
to ładowane funkcjami z libltdl (jak zwykle w kde* panuje tu kompletny
bajzel .. część rzeczy używa funkcji z libltdl a część
norrlalnie/optymalnie dlopen()). Widać, że w kde odchodzą od libltdl ale
jeszcze nei wwszedzie zostało to zrobione. Po czymś takim nawet dla
łądowalnych modułów będzie mozna zrezygnować z plików .la.
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
Więcej informacji o liście dyskusyjnej pld-devel-pl