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