cgi a sdilene knihovny

Míla Kuchta mila.kuchta na atlas.cz
Pátek Únor 25 04:25:07 CET 2000


Míla Kuchta <mila.kuchta na atlas.cz> wrote:
> Míla Kuchta <mila.kuchta na atlas.cz> wrote:
> > peak na argo.troja.mff.cuni.cz (Pavel Kankovsky) wrote:
> > > On Thu, 24 Feb 2000, Míla Kuchta wrote:
> > > 
> > > > > > > Jeste bych dodal, ze program je dynamicky slinkovany. Pokud se ho pokusim
> > > > > > > slinkovat staticky tak si vzdy nejaka funkce z knihoven stezuje:
> > > > > > > 
> > > > > > > undefined reference to `_IO_stderr_'
> > > > > > > undefined reference to `_IO_stdout_'
> > > 
> > > To je zajimave. Nepomuze explicitni -lc?
> > > 
> > > > > Jde o jednoduchy databazovy program pro select v sybase. V logu apache je:
> > > > > pokus.cgi: error in loading shared libraries: /opt/sybase/lib/libct.so:
> > > > > undefined symbol: net_opt_alloc [Thu Feb 24 18:30:09 2000] [error] [client
> > > > > 192.168.1.100] Premature end of script headers: /home/httpd/cgi-bin/pokus.cgi  
> > > 
> > > Je zajimave, ze to prekladac vubec slinkuje. Napada mne moznost, ze se
> > > loaduje jina knihovna, nez je pouzita pro linkovani.
> > > 
> > > > Neni mozny, ze by Apache pouzival chroot treba jako anoftp a pak
> > > > se na ty knihovny nedostal.
> > > 
> > > Spis ne. Kdyz se pokusite spustit mimo Apache (nebo aspon na nej dat ldd),
> > > tak to funguje?
> > 
> > Tak uz jsem se zase dostal o kousek dal. Nejde to proto ze apache to spousti
> > jako root a ja to mino nej spoustel jako user. Ale proc to nechce spustit pod
> > rootem, kdyz nepouzivam zadne lokalni nastaveni, vsechno na globalni urovni v
> > /etc z toho jsem blbej. 
> 
> Takze jeste je to jinak. Pod rootem to chodi. Nechodi to pouze pokud si
> propujcim superuzivatelska prava pomoci su.
> 

Jde o systemovou promennou LD_LIBRARY_PATH, ktere je pridelena hodnota
/opt/sybase/lib. Proc to ale v pripade propujceni prav nejde, kdyz je
exportovana, to fakt nevim.

Mila Kuchta


Další informace o konferenci Linux