私のルーター(カスタムファームウェアを含むasus-rt66u)を使用しています(トマト)をメディアサーバーとして使用します。必要な道具を手に入れるために使ってきました。optwareパッケージマネージャ使用できるクロスコンパイルされたアプリケーションがたくさんあります。今私には必要です。MKVツールツールは残念ながらそうではありません。包装リストに。このルータは mipsel アーキテクチャを使用します。
mkvtoolnix
ルータから直接ビルドする必要がありますか、またはこのようにプリコンパイル/クロスコンパイルされたパッケージを使用できますか?一つ(Debian パッケージ)?
自分でコンパイルする必要がある場合はどうすればよいですか?
答え1
プリコンパイルされたバイナリ(Debianのミップセルなど)のみをインポートするときに発生する可能性のある問題の1つは、バイナリに必要なライブラリがシステムで利用可能なライブラリと一致しないことです。
特にDebianでは、可能な限りすべてを動的に接続しようとします。これはライブラリのバージョンが重要であることを意味します(より具体的には、バイナリが機能するにはライブラリSONAMEが同じである必要があります)。
システムとそのバージョンで利用可能なライブラリを識別し、mkvtoolnixバージョンがDebianバイナリ検索に近いものを使用していることを確認できます。スナップショットアーカイブ。
成功しない場合は、mkvtoolnixを直接クロスコンパイルする必要があります。私が好む解決策は、次のものを使用することです。qemuのユーザーモードシミュレーションを使用してdebootstrapを実行する「半基本」mipsel環境を作成します。
その後、通常の方法でプログラムのコンパイルを進めることができます(たとえば、必要なパッケージを入手して使用するDebianを使用すると、人生は簡単になります)debuild
。
そして、ライブラリの問題が発生しないように100%確実にするには、mkvtoolnixバイナリを静的にリンクして、できるだけ自己完結させることができます。