Postfix a kolize openssl/base vs openssl/ports
Dan Lukes
dan at obluda.cz
Wed Jul 8 19:16:52 CEST 2015
On 07/08/15 10:34, Jan Dušátko:
> Dostal jsem se do situace, kdy nesel zkompilovat postfix (v instalacni
> fazi postconf hlasil out of memory, pripadne pokud se podarilo nahodou
> nejakym zazrakem postfix nainstalovat, neumoznil mi start a zase
> postconf hlasil out of memory event. chybejici systemove promenne).
>
> Pricinou uvedeneho problemu byla kolize openssl base vs ports,
> indikatorem problemu tato hlaska:
> /usr/bin/ld: warning: libcrypto.so.7, needed by /usr/lib/libhx509.so,
> may conflict with libcrypto.so.8
> Jedna se o zavlecenou zavislost - krb5 -> libhx509 -> libcrypto (base) a
> ten se ocitne v kolizi s libcrypto z portu.
Spolu jsme to resili telefonem, ale pro ostatni shrnu ...
Problem obecne nastava tehdy, pokud se v systemu pouzivaji dve verze
teze knihovny.
Pricemz nemusi jit o to, ze se takove dve knihovny pouzivaji primo v
konkretnim programu. Staci, ze se nejaka takova knihovna pouziva v ramci
jine knihovny a teprve tahle se pouzije ve vyslednem programu.
Proste, v jednom programu se nesmi takove knihovny sejit ani neprimo.
Technicky jde o to, ze linker pri sestavovani povazuje vsechny symboly
stejneho jmena za identicke, takze jim priradi pamet - a pak je trochu
problem, kdyz ruzne casti kodu (pochazejici z ruzne verze knihoven)
pracuje s toutez pameti "po svem" a aniz o sobe tyto ruzne kody navzajem
vedi.
OpenSSL je nejtypictejsim kandidatem na tenhle problem - pouziva se v
systemu, pouzivaji ho i nektere odvozene systemoe knihovny, a soucasne
existuje verze v portech.
Jakmile treti aplikace pouziva OpenSSL z portu, nemuze soucasne pouzit
jakoukoliv systemovou knihovnu, ktera sama pouziva systemove OpenSSL.
Aplikac epouzivajici systemovy Kerneros a soucasne umoznuji pouzit
portove OpenSSL jsou typicky pripad.
Ale v podstate je chyba portu, ze vubec dovoli tuhle kombinaci optionu ...
Dan
More information about the Users-l
mailing list