Imam problema sa dvdbackup programom. On koristi lindvdread. Lijepo radi sa libdvdread-0.9.3, ali neće da radi sa libdvdread-0.9.7, jer su autori libdvdread izbacili jednu funkciju u novijim verzijama.
E, sad želim da imam libdvdread-0.9.3 za dvdbackup, a novije verzije libdvdread za sve ostale aplikacije, pa sam libdvdread-0.9.3 instalirao u /opt/libdvdread-0.9.3, a novije verzije instaliram u /usr/.
1. Postoji li mogućnost da druge aplikacije koriste libdvdread-0.9.3 iz /opt umjesto novijih verzija iz /usr/?
Ukoliko postoji, htio sam da statički linkujem dvdbackup sa starim bibliotekama, ali nemam pojma kao da to učinim. Probao sam:
gcc -c -o dvdbackup.o -I/opt/libdvdread-0.9.3/include dvdbackup.c
ld -o dvdbackup -L/opt/libdvdread-0.9.3/lib dvdbackup.o -static -ldvdread
ali dobijem gomilu grešaka.
Dakle,
2. Kako statički linkovati dvdbackup sa libdvdread-0.9.3, a dinamički sa ostalim (standardnim) bibliotekama?
3. Ukoliko postoji mogućnost da neke aplikacije koriste stariju verziju libdvdread, može li se problem riješiti tako što ću obrisati:
/opt/libdvdread-0.9.3/lib/libdvdread.a
/opt/libdvdread-0.9.3/lib/libdvdread.la
/opt/libdvdread-0.9.3/lib/libdvdread.so
a ostaviti samo
/opt/libdvdread-0.9.3/lib/libdvdread.so.2
/opt/libdvdread-0.9.3/lib/libdvdread.so.2.0.2
Unaprijed hvala.