Izmena zavisnosti binarnih datoteka uz pomoć patchelf

Uputstva, saveti i trikovi

Moderator: Urednik

Post Reply

Administrator
Administrator
offline
User avatar

Posts: 4092
Joined: 04 Feb 2011, 20:32
Location: Beograd
Contact:

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


Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests