You are not logged in.
Hi,
is there any guide how to handle old library dependencies?
i maintain otrdecoder-x86_64 from aur and the latest versions are no longer shipped as 'static'-packages. Therefore one library dependency is too old:
ldd otrdecoder
linux-vdso.so.1 => (0x00007fff3473d000)
libavformat.so.52 => /usr/lib/libavformat.so.52 (0x00007ff8001e7000)
libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0x00007ff7ff609000)
libavutil.so.49 => not found
librt.so.1 => /lib/librt.so.1 (0x00007ff7ff401000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff7ff0f1000)
libm.so.6 => /lib/libm.so.6 (0x00007ff7fee70000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007ff7fec5a000)
libc.so.6 => /lib/libc.so.6 (0x00007ff7fe903000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007ff7fe6e7000)
libavutil.so.50 => /usr/lib/libavutil.so.50 (0x00007ff7fe4d6000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007ff7fe2be000)
libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007ff7fe0ae000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x00007ff7fde9c000)
libfaad.so.2 => /usr/lib/libfaad.so.2 (0x00007ff7fdc5b000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007ff7fd9e3000)
libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x00007ff7fd7b4000)
libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x00007ff7fd59e000)
libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007ff7fd35f000)
libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007ff7fd146000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007ff7fcd6e000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007ff7fcb42000)
libx264.so.84 => /usr/lib/libx264.so.84 (0x00007ff7fc8af000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007ff7fc5a1000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff8004a3000)
libmp4v2.so.0 => /usr/lib/libmp4v2.so.0 (0x00007ff7fc2f2000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007ff7fc0ed000)
libdl.so.2 => /lib/libdl.so.2 (0x00007ff7fbee9000)
I made a symlink from to test if it works with the new library:
sudo ln -s libavutil.so.50 libavutil.so.49
It seems to work, but i don't think that symlinking is a good idea.
I contacted the author but he/she did not respond. The packages are shipped as binary only.
Any ideas?
Last edited by nblock (2010-02-28 21:40:37)
Offline
The typical solution seems to be to make a package that compiles the previous version's source and keeps it from making / strips out "generic" symlinks such that only the .pkgver is around (eg libavutil.so.49 is there but libavutil.so is removed or prevented so as not to conflict with the current libavutil), and the package is named for example libavutil49. The most obvious examples are libpng12, libjpeg6, and libjpeg7 from aur.
If you can't make the previous version compile, you either patch it to or you're more or less out of luck. Distributing it in binary form would probably be bad. Then just have your otrdecoder depend on that new package.
Last edited by FrozenFox (2010-02-28 17:22:26)
Offline