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



--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem