Ugyanez linuxon:
Breakpoint 1, 0x00007ffff48d9eb0 in dlopen () from /lib64/libdl.so.2
1: (char *)$rdi = 0x7fffffffb3f0 "libclntsh.so.11.1"
Kezdem úgy érezni magam, hogy csapok egy kis programocskát dlopen_for_ora12 néven, ami meghaxolja az oracle dlopen-jeit, vagyis odaragsztja a verziószámot (mondjuk a .12-t nevezem ki majornak, a .1 -et minornak). Előre a gányolás útján!
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 841 megtekintés
Hozzászólások
Ahelyett, hogy bevezetned, hogy egy gep - egy Oracle kliens. Maris sokkal-sokkal boldogabb lennel.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Hát igen, még sosem fordult elő, hogy az egyik alkalmazás csak a X-library egy bizonyos verziójával volt hajlandó működni, a másik meg csak az X-library másik verziójával... vagy ha igen, akkor csak álmodtam...
Persze mindez csak játék és mese pl ehhez képest: http://forum.index.hu/Article/showArticle?t=9084892
- A hozzászóláshoz be kell jelentkezni
Dededede... mar AIX-ra is elerheto eleg durva virtualizacio is, szetszeded ket instance-ra es szol... ja, hogy regi az AIX-od. Szivas. :-)
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
man WPAR :)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
Koszi, a nevvel voltam bajban :P
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Egy Gary Hook nevű úr "Advanced linking" című könyve segített, ps formátumban lehet letölteni, abból néztem ki a -brename használatának trükkjét. Pillanatnyu állapot:
Debug: dlopen_for_ora("libclntshcore.so", 0x80004)
Debug: dlopen_for_ora("/opt/lib64/libclntsh.so", 0x80004)
Debug: dlopen_for_ora("/opt/lib64/libociei.so", 0x80004)
Szerk: később:
Debug: dlopen_for_ora("libclntshcore.so", 0x80004)
Debug2:dlopen_for_ora("/opt/lib64/libclntshcore.so.12", 0x80004)
Debug: dlopen_for_ora("/opt/lib64/libclntsh.so", 0x80004)
Debug2:dlopen_for_ora("/opt/lib64/libclntsh.so.12", 0x80004)
Debug: dlopen_for_ora("/opt/lib64/libociei.so", 0x80004)
Debug2:dlopen_for_ora("/opt/lib64/libociei.so.12", 0x80004)
- A hozzászóláshoz be kell jelentkezni
On: Végül is elég jó a helyzet: elég újraindítani az Oracle10-zel szerkesztett komponenseket (PHP, for example), és már mennek is Oracle12-vel. Mármint látszólag. Azért majd meg kell tesztelni.
(Persze ebből nem akarok rendszert csinálni, az lenne az cél, hogy a programok egy része a 'libclnsth.so.10'-ra dependáljon, más része a 'libclnsth.so.12'-re, és ezek egyszerre mehessenek.
Off: Sose találjátok ki, melyik komponensben találtam közben, csak úgy mellékesen javítani valót... na jó, elárulom: a házibarkács libtool-ban;)
- A hozzászóláshoz be kell jelentkezni
Meg mindig az a velemenyem, hogy sokkal kevesebbet szivnal, ha egyszer rendesen leportoltad volna a GNU libtool-t, ugyanis abban emberek ezeket a problemakat mar egyszer vegigszoptak.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Nem kell 'portolni', a libtool egyrészt külön termékként is fordítható/használható AIX-on, másrészt minden egyes software magával cipel belőle egyet, azzal sincs különösebb baj...
Azért van saját libtool-om, mert abba tettem a major/minor verziószámok követését.
Nélküle ilyesmi lenne a shared libek függősége:
program1.exe -> libfoo.so -> libbar.so
program2.exe -> libfoo.so -> libbar.so
Vele:
program1.exe -> libfoo.so.14 -> libbar.so.25
program2.exe -> libfoo.so.15 -> libbar.so.26
Ez elég sokat tud számítani, amikor a libbar komponensben csinálni kell egy inkompatibilis fejlesztést, és lesz belőle libbar.so.26, akkor esetleg nem akarjuk, hogy a régi programok egy síma újraindulás után megpusztuljanak. Ez persze nem valami misztikus csodaság, hanem a default unix-os működés.
- A hozzászóláshoz be kell jelentkezni
Es ez az ujabb AIX-okon is gondot okoz? Marmint, az ujabb AIX-okon is igy alakul a fuggoseg?
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
7.1-et néztem, nem láttam koncepcionális különbséget: nincs a 'DT_SONAME'-nek megfelelője, tehát a linker azt írja a függőséghez, ami a fájlnév volt a linkelés pillanatában, ha libvalami.so, akkor azt; ha meg libvalami.so.18, hát akkor azt.
- A hozzászóláshoz be kell jelentkezni
Ja. Javitsd mar ki a ceg nevet a cimben pls. Ha nem nagy keres.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni