I am having a problem with linking:
Code:
$ ffmpeg
ffmpeg: relocation error: ffmpeg: symbol avformat_network_init, version LIBAVFORMAT_53 not defined in file libavformat.so.53 with link time reference
I already had avformat installed from Ubuntu package repository. Apparently there is a mix up in the link up:
Code:
$ ldd ffmpeg | grep av
libavdevice.so.53 => /usr/lib/i686/cmov/libavdevice.so.53 (0xb7738000)
libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0xb76af000)
libavformat.so.53 => /usr/lib/i686/cmov/libavformat.so.53 (0xb75a9000)
libavcodec.so.53 => /usr/lib/i686/cmov/libavcodec.so.53 (0xb6a3c000)
libavutil.so.51 => /usr/lib/i686/cmov/libavutil.so.51 (0xb69aa000)
I am under Oneiric. I did not follow this guide exactly, I installed x264 and ffmpeg from tarballs instead. And since my goal is to build OpenCV 2.3.1 (because it's the one supported by ROS Electric) with GPU support (CUDA), I used the --enable-shared and --enable-pic options.
I searched this thread (and google in general) for a while but could not find any definite solution.
I am a bit confused by the build process and package management in general: I have the libav* packages installed from synaptic, as they are dependencies of some other general multimedia packages (kdenlive, clementine, etc...), and I am installing a different version from source. I am a bit puzzled on how to ensure that things don't get messed up. Same with OpenCV: I am installing from source, and I have opencv2.3 installed as a dependency of ROS, so how do I make sure that the system is going to use my built from source lib...?
Bookmarks