Izmena zavisnosti binarnih datoteka uz pomoć patchelf

Uputstva, saveti i trikovi

Moderator: Urednik


Administrator
Administrator
offline
User avatar

Posts: 4766
Joined: 04 Feb 2011, 20:32
Location: Beograd

Post Napisano: 15 Apr 2016, 09:30


Upravo sam preuzeo binarnu verziju video editora vidiot u nameri da ga probam. Koliko sam čuo, u pitanju je vrlo jednostavan video editor sličan Windows Movie Makeru. Ali ne leži vraže, kad pokušam da ga pokrenem dobijem upozorenje:

Code: Select all

./vidiot: error while loading shared libraries: libx264.so.142: cannot open shared object file: No such file or directory
I onda mi pade na pamet: šta ako je moguće zameniti ime zavisnosti. Recimo, ako bismo mogli da promenimo libx264.so.142 u libx264.so. Ako aplikacija ne koristi nijednu od izmenjenih funkcija koje su nastale između izdavanja verzije 142 i lokalne verzije, po nekoj logici, ovo bi trebalo da radi.

Srećom postoje alati pomoću kojih je moguće ovako "forsirati" binarne datoteke da učitaju drugu verziju zavisnosti. Ime ove alatke je patchelf. Nažalost ovaj alat nije u SBo i ne dolazi sa Slackwareom. Kreiranje paketa je van ove priče pa ču pomenuti samo generičku "configure/make/make install" intalaciju.

Ako preuzmete patchelf izvorni kod, izgradite ga (./configure && make) zatim ga instalirate u neki od direktorijuma u sistemskoj putanji (bilo ručno il putem make install), onda to možete uraditi ovako:

Code: Select all

patchelf --replace-needed libx264.so.142 libx264.so vidiot
Operacija je uspela, a preživeo je i pacijent:
Screenshot_2016-04-15_10-29-47.png
You do not have the required permissions to view the files attached to this post.


Who is online

Users browsing this forum: Claude User [Bot] and 4 guests