Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I downloaded this package for ffmpeg. When I try to install it with command

sudo dpkg -i ffmpeg_0.7.1-5_i386.deb

it writes this error message:

Unpacking ffmpeg (from ffmpeg_0.7.1-5_i386.deb) ...
dpkg: error processing ffmpeg_0.7.1-5_i386.deb (--install):
trying to overwrite '/usr/share/ffmpeg/libx264-ipod640.ffpreset', which is also in package libavcodec-extra-52 4:0.5.1-1ubuntu1.2
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing: ffmpeg_0.7.1-5_i386.deb

Could you help me with the installation of this particular version (0.7.1-5) for Ubuntu 10.04?

EDIT: after command sudo apt-get remove libavcodec52 libavcodec-extra-52

new output

Should I go manually now step by step and install the dependencies (and possibly their dependencies) or is there some trick?

share|improve this question
    
Why do you downloaded the package and don't you use the package available in repositories? –  enzotib Sep 21 '11 at 7:41
    
I need this version of the package. –  xralf Sep 21 '11 at 8:00
    
Did you try letting apt-get install exactly this version before? That is: apt-get install ffmpeg=0.7.1-5 ? After that, you'll have the right dependencies installed and can try to manual install your version with dpkg. –  thiton Sep 21 '11 at 9:56
    
@thiton Yes but this writes E: Version '0.7.1-5' for 'ffmpeg' was not found –  xralf Sep 21 '11 at 12:08
    
OK. Which version /do/ you have available? "apt-cache show ffmpeg | grep ^Version" should show you. –  thiton Sep 21 '11 at 12:11
show 5 more comments

3 Answers

Mixing binary packages from debian and ubuntu repositories is a very bad idea. However, if you're absolutely sure you need that specific version, a possible solution is to download the debian package source, then set up build-essential on your system and build the package locally so it'll match the proper dependencies.

Add the line

deb-src http://ftp.at.debian.org/debian/ wheezy main non-free contrib

to your sources.lst file and then enter

apt-get update
apt-get build-dep ffmpeg
apt-get source ffmpeg

This will attempt to download all the packages needed to build the ffmpeg package (mostly libwhatever-dev plus a working compiler) and then download and prepare the source package for ffmpeg in the current directory. I recommend you create and cd to /usr/src/ffmpeg before taking this step.

You will now have the following files and directories under your current dir:

ffmpeg-debian-0.whatever/
ffmpeg-debian_0.whatever-something.diff.gz
ffmpeg-debian_0.whatever-something.dsc
ffmpeg-debian_0.whatever.orig.tar.gz

Fairly straightforward: The orig.tar.gz is the original source code tarball; the -something.diff.gz is a diff applied by debian package maintainers to provide all the debian build scripts, while ffmpeg-debian-0.whatever/ is the unpacked and patched source directory.

cd into the source directory and run the command debuild -us -uc -b, then fetch a soda refill while your system compiles and builds the package, using your currently existing library versions to determine its dependencies.

Once that finishes, dpkg -i the resultant .deb, and enjoy.

share|improve this answer
    
I'm trying to download the source and I'm looking here but can't find the right version. –  xralf Sep 24 '11 at 18:17
    
What means setup build-essential? –  xralf Sep 24 '11 at 18:19
    
apt-get build-dep ffmpeg should take care of that as well; build-essential is the name of the metapackage that depends on all the basic tools debian needs to build packages. Hence, 'build-essential' which can be installed by typing apt-get install build-essential –  Shadur Sep 24 '11 at 18:24
    
I tried it but with this result. What should it take care of? –  xralf Sep 24 '11 at 18:31
    
After adding the line to the sources.list and apt-get update there was an error at the end, something with GPG public key. And this is the new output. –  xralf Sep 24 '11 at 18:39
show 2 more comments

It seems that your installed distribution packages the ffmpeg software suite differently than the distributor you got the ffmpeg package from. The root cause is in the third line; libavcodec-extra-52 has already installed the /usr/share/ffmpeg/libx264-ipod640.ffpreset file, and dpkg will not overwrite files from one package with files from another package.

This might have to do with some dependencies - on my Wheezy, ffmpeg 4:0.7.1-5 replaces libavcodec-extra-53 (<< 4:0.6~) and depends on libavcodec-extra-53 (>= 4:0.7.1), so an upgrade to your libavcodec-extra-53 is probably necessary.

You have two options:

  1. Dirty hack: Deinstall Ubuntu's libavcodec-extra-52 package, and maybe other components of ffmpeg: apt-get remove libavcodec-extra-52
  2. Better: Use Ubuntu's version of ffmpeg: apt-get install ffmpeg
share|improve this answer
    
Thank you. Dirty hack didn't help. See question edit. –  xralf Sep 21 '11 at 8:16
    
You have to install the new dependencies. As they are not on Ubuntu's repo, you can either: (a) add Debian Wheezy's repo, or (b) download all the dependencies and dpkg -i all of them in the same line. –  syockit Sep 26 '11 at 7:41
add comment

There is no need to manually download some ffmpeg .deb package (btw, where did you get it from?).

Just install it via the distribution's package manager, e.g.:

$ sudo apt-get install ffmpeg

The package you have used conflicts with an already installed package and perhaps has other issues. A package manager like apt-get is able to detect/diagnose and (help to) resolve conflicts.

share|improve this answer
    
I need to install this particular version. See question edit. –  xralf Sep 21 '11 at 8:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.