ffmpeg:シンボル検索エラー(Linux mint MATE 21.1、カーネル6.1.0-1010-oem)

ffmpeg:シンボル検索エラー(Linux mint MATE 21.1、カーネル6.1.0-1010-oem)

私は現在ffmpegを再び動作させようとしています。これにより、Firefoxでdiscordを使用したりmp4を表示したりする機能が損なわれます。

コンソールでffmpegを使用しようとすると、次のものが返されます。

cla@CLAX1:~$ ffmpeg
ffmpeg: symbol lookup error: /lib/x86_64-linux-gnu/libva-x11.so.2: undefined symbol: va_fool_postp

そしてフッ化:

la@CLAX1:~$ discord
discord: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory

可能な解決策を見つけるために数日間検索しましたが、役に立ちませんでした。通常、libva-x11-2:i386をインストールすることをお勧めしますが、この方法も機能しませんでした。一部はシステムリンクを中止しようと提案していますが、これは一時的に状況を悪化させました。

どんなアドバイスも事前に感謝したいと思います。

答え1

私は同じ問題があり、ffmpegこれは私に役立ちました。

cd /lib/x86_64-linux-gnu/
ln -sf libva.so.2.1400.0 libva.so.2

これにより、シンボリックリンクlibva.so.2ターゲットが変更されます。リバ2.14、これはライブラリの以前のバージョンですlibva


システムに少し異なるソリューションが必要で、動作するソリューションを見つける方法がわからない場合に備えて、このソリューションを見つけた方法の説明は次のとおりです。

まず、このエラーが何を意味するのかを知る必要があります。

symbol lookup error: /lib/x86_64-linux-gnu/libva-x11.so.2: undefined symbol: va_fool_postp

これは、ライブラリがlibva-x11.so.2名前付きシンボル(関数または変数)を参照しようとしますva_fool_postpが、そのシンボルがライブラリ自体またはその依存関係に定義されていないことを意味します。

調査するlibva Githubリポジトリ"va_fool_postp"を検索すると、va_foolバージョン2.15.0から削除されたことがわかりました。libvaこれは、インストールされたライブラリが2.15.0より前のバージョンlibva-x11.so.2に依存していることを意味します。libva

次のステップは、インストールされているバージョンとlibva-x11.so.2パッケージlibva2を確認することです。私の場合、apt-cache policy <package>両方のパッケージで実行すると、両方のパッケージのバージョンが表示されました2.14.0-1。これは次のことをva_fool意味します。しなければならない図書館で使用できますが、libva2使用できません。

ライブラリが配置されているディレクトリを確認すると、コンピュータにインストールされて/lib/x86_64-linux-gnu/いるライブラリが表示されます。私が知る限り、このライブラリには、との2つのバージョンがありますlibva2。ライブラリへのリンクは、ターゲットをライブラリの最新バージョンに設定します。これは他のプログラムによって引き起こされ、2つのバージョン間で競合が発生する可能性があります。この変更は、前述のコマンドを実行して元に戻すことができます。libva.so.2.1400.0libva.so.2.2200.0libva.so.2libva.so.2.2200.0

ln -sf libva.so.2.1400.0 libva.so.2

関連情報