SPECS: lvcool.spec (HEAD) [kloczek]

Michal Moskal malekith w pld-linux.org
Wto, 23 Lip 2002, 15:39:45 CEST


On Tue, Jul 23, 2002 at 03:36:05PM +0200, Tomasz Kłoczko wrote:
> On Tue, 23 Jul 2002, Michal Moskal wrote:
> 
> > On Tue, Jul 23, 2002 at 03:24:36PM +0200, Tomasz Kłoczko wrote:
> > > > To Ty napisz takie sprawdzanie a ja napisze program na którym się to
> > > > wyspie, co? (czytaj: to niemożliwe)
> > > 
> > > Jest takie powidzenie że jedynym cudem jest to że cuda sie nie zdarzają, a
> > > cudem musiałby być to żeby linker pozwolił na zlinkowanie czegoś co wymaga
> > > symbolu z biblioteki która nie została dołączona w trakcie linkowania.
> > > Mówiąc inaczj musiałbyś napisa cprogram który używajac jakeiś funkcji 
> > > musiałby jednocześnie jej nie uzywać.
> > > Proponuje przestać opowiadać bajki :>
> > > Napisz taki program i pokaż go. Wtedy możemy kontynuować wątek.
> > 
> > Hint: dlopen() na własnym obrazku.
> 
> Jakbyś nie wiedział to w trakcie dlopen() wykonywane jest linkowanie :>
> 
> Podam Ci nawet konkretny przykład ilustrujacy cos takiego. Otóż typwo w
> innych dystrybucjach o ile ktoś tego nie poprawił apache jest zlinkowany z
> libdb. U nas nie jest. Dlaczego ? Ano dlatego że z tą biblioteką jest
> zlinkowany tylko konkrewtny moduł ttóry jest ładowany pzrez dlopen().
> Jeszcze więcej takich przypadkół znajdziesz w php :)
> 
> Jeżeli ktoś linkujać moduł nie zadbał o odpowiodnia listę z -l<foo> to
> już byk tego kogoś. Program wykomnujący dlopen() nie ma obiwiązku linkować
> się z wszystkim co potrzebuje potencjalnie jakikolewiek moduł ładowany
> przez dlopen() .. i żeby było śmieszniej jest to cecha która powoduje, że
> w wielu miejscach właśnie dlatego dynamicznie się doładowuje njakieś 
> kawałki kodu o ile nei są one permanentnie/często porzebne, aprojekt jest 
> dodarkowo dosć rozudowany.

Nie dlopen() zewnętrznego modułu, a /proc/self/exe. Program kompilowany
g++ ma prawo wymagać, że będzie zlinkowany z libstdc++. Dot.

-- 
: Michal Moskal ::::: malekith/at/pld-linux.org :  GCS {C,UL}++++$ a? !tv
: PLD Linux ::::::: Wroclaw University, CS Dept :  {E-,w}-- {b++,e}>+++ h



Więcej informacji o liście dyskusyjnej pld-devel-pl