私はこれをダウンロードしましたffmpegパッケージ。コマンドを使用してインストールしようとすると
sudo dpkg -i ffmpeg_0.7.1-5_i386.deb
次のエラーメッセージが記録されます。
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
Ubuntu 10.04用の特定のバージョン(0.7.1-5)をインストールするのに役立ちますか?
編集:コマンド後
sudo apt-get remove libavcodec52 libavcodec-extra-52
これで、依存関係(およびその依存関係)を段階的に手動でインストールする必要がありますか?それとも、いくつかのトリックがありますか?
答え1
DebianとUbuntuリポジトリのバイナリパッケージを混在させるのは非常に悪い考えです。しかし、必ず必要だと確信しているならそれ特定のバージョン、可能な解決策はDebianパッケージをダウンロードすることです源泉次にシステムに設定しbuild-essential
、正しい依存関係と一致するようにパッケージをローカルにビルドします。
行を追加
deb-src http://ftp.at.debian.org/debian/ wheezy main non-free contrib
ファイルにsources.lst
入力して
apt-get update
apt-get build-dep ffmpeg
apt-get source ffmpeg
その後、パッケージをビルドするために必要なすべてのパッケージffmpeg
(主にlibwhatever-devと動作しているコンパイラ)をダウンロードし、現在のディレクトリにあるffmpeg用のソースパッケージをダウンロードして準備します。この手順を実行する前に、およびを作成することをお勧めしますcd
。/usr/src/ffmpeg
現在、ディレクトリに次のファイルとディレクトリがあります。
ffmpeg-debian-0.whatever/
ffmpeg-debian_0.whatever-something.diff.gz
ffmpeg-debian_0.whatever-something.dsc
ffmpeg-debian_0.whatever.orig.tar.gz
とても簡単です。これはorig.tar.gz
元のソースtarballです。これは-something.diff.gz
すべての Debian ビルドスクリプトを提供するために Debian パッケージマネージャが適用した diff で、ffmpeg-debian-0.whatever/ は解凍してパッチを適用したソースディレクトリです。
cd
ソースディレクトリに移動してコマンドを実行すると、システムはパッケージをコンパイルしてビルドするdebuild -us -uc -b
ときに現在の既存のライブラリバージョンを使用して依存関係を確認してソーダサプリメントを取得します。
完了したら、dpkg -i
結果の.debをお楽しみください。
答え2
インストールしたディストリビューションは、ffmpegソフトウェアパッケージを入手したサイト運営者とは異なり、ffmpegソフトウェアスイートをパッケージ化したようです。根本原因は3行目にあります。 libavcodec-extra-52は/usr/share/ffmpeg/libx264-ipod640.ffpresetファイルをインストールし、dpkgはあるパッケージのファイルを別のパッケージのファイルで上書きしません。
これはいくつかの依存関係に関連している可能性があります。私のWheezyでは、ffmpeg 4:0.7.1-5がlibavcodec-extra-53(<< 4:0.6〜)を置き換え、libavcodec-extra-53(> = 4:0.7.1に依存します))、したがってlibavcodec- extra-53をアップグレードする必要があるかもしれません。
2つのオプションがあります。
- 汚いハッキング:Ubuntuのlibavcodec-extra-52パッケージとffmpegの他のコンポーネントを削除します。 apt-get は libavcodec-extra-52 を削除します。
- より良い方法:ffmpegのUbuntuバージョンを使用してください:apt-get install ffmpeg
答え3
一部のffmpeg .debパッケージを手動でダウンロードする必要はありません(どこで入手しましたか?)。
ディストリビューションのパッケージマネージャを介してインストールするだけです。たとえば、次のようになります。
$ sudo apt-get install ffmpeg
使用しているパッケージがすでにインストールされているパッケージと競合し、他の問題がある可能性があります。 apt-getなどのパッケージマネージャは、競合を検出/診断して(ヘルプ)解決できます。