Dne 22. října 2009 12:42 Podlesak Kamil <kamil.podle...@ips-ag.net> napsal(a):
>
>  Naopak! Prave ze Lotus Notes jsou k dispozici jako rpm i deb a se spravnymi 
> zavislostmi. Prave proto doslo k zminovanemu problemu. Teoreticky by stacilo, 
> kdyby v zavislostech byla uvedena presna verze - jenomze bohuzel to by ve 
> stavajicich balickovacich systemach zanamenalo jen to, ze by se knihovna 
> nesmela updatovat.

Rouzmim, no to se take nekdy stane. Tezko rici kde je chyba zda spatny
update nebo spatne pripraveny jar. Obecne by pri update nemelo dojit k
rozbiti API, zejmena kdyz se instaluje oprava.  a jedna se zvyseni
verze...treba 1.3.1 na 1.3.2. Gtk2 je ale slozita zalezitost :(

>
>  Z techto duvodu mivaji komercni aplikace vlastni instalator, nebo alespon 
> balicek bez zavislostmi - vsechny knihovny maji vlastni v takovych verzich, o 
> kterych vi ze funguji a jsou otestovane. Presne jako se to dela v Jave.
>
>  Microsoft samozrejme na tento problem narazil uz hodne, hodne davno a jeho 
> reseni bylo jednim ze zakladnim pozadavku na .NET - takze umoznuje mit k 
> dispozici mnoho verzi jedne knihovny, pricemz ruzne aplikace pak pouzivaji 
> ruznou verzi.
>  Dokazu si predstavit, ze by balickovaci systemy linuxovych dristribuci 
> podobnou funkcionalitu umoznily. Vyzadovalo by to ale nekolik nepeknych hacku 
> a tvrde by to narazilo na zastance tvrde linie (aneb "kdyz je chyba v 
> aplikaci, ma se opravit aplikace, ne zavadet nejake obezlicky").

I v linuxu je mozne mit vice verzi jedne knihovny pohromade. Jde o to
jak se udela balicek. Pokud se knihovna (at uz .so nebo .jar) ulozi
pouze s verzi napr
/usr/lib64/libgpm.so.1.19.0

tak neni problem inastalovat vedle toho jinou verzi. Nicmene vetsinou
si knihovna nainstaluje take simlinky
/usr/lib64/libgpm.so -> libgpm.so.1.19.0
/usr/lib64/libgpm.so.1 -> libgpm.so.1.19.0

Program ktery knihovnu pouzije pak linkuje simlink
rpm -qR mc | grep gpm
libgpm.so.1()(64bit)
Vyhodou pak je, ze je mozne knihovnu gpm preinstalovat, pokud se jedna
o stejnou Major verzi.  a zaroven je v systemu omezeni ze mc je
zavisle na verzi 1 knihovny libgpm.  Pokud je knihovna neukaznena, tak
je nutne linkovat plnou verzi..

Stejne je to mozne udelat i v jave. Instalovat s konkretni verzi,
vyzadovat kokretni verzi a nepouzivat simlinky :)

P.N.

Reply via email to