ffmpegの./configure
スクリプトで問題が発生しています。私のLinux環境ではbusyboxが使用されています。これは限られた一連のLinuxコマンドしか許可していません。 ffmpeg ./configure
スクリプトで使用されている1つのコマンドはmktemp -u
です。ここで問題となるのは、Linux用のビジーボックスは-uスイッチが有効であると認識しないため、それに不満を持ち、configureプロセスを中断させます。設定スクリプトの問題
これはmktemp -u
コマンドを使用しています./configure
内の関連するコードです:
if ! check_cmd type mktemp; then
# simple replacement for missing mktemp
# NOT SAFE FOR GENERAL USE
mktemp(){
echo "${2%XXX*}.${HOSTNAME}.${UID}.$$"
}
fi
tmpfile(){
tmp=$(mktemp -u "${TMPDIR}/ffconf.XXXXXXXX")$2 &&
(set -C; exec > $tmp) 2>/dev/null ||
die "Unable to create temporary file in $TMPDIR."
append TMPFILES $tmp
eval $1=$tmp
}
私はすべてのbashのスクリプトとよくないよ、そう誰1は、私はこれを強制することができます方法についてのアイデアを持っていた場合、私は思っていましたmktemp -u
を使用しないようにスクリプトを設定し、の '置き換え'代替オプションを使用してください。これは、上記のスニペットのとおりです。ありがとう。
btw ...単に削除すると-u
スイッチが動作しません。それを-t
、または-p
に置き換えることもできません。私はmktemp
が完全にバイパスされなければならないと信じています。
if ! check_cmd type mktemp; then
# simple replacement for missing mktemp
# NOT SAFE FOR GENERAL USE
mktemp(){
echo "${2%XXX*}.${HOSTNAME}.${UID}.$$"
}
fi
これに:この
なぜそれをビジーボックスでコンパイルしたいのですか? FFMPEGにはn個の依存関係があります。 n個のライブラリにコンパイルを依頼します。たとえそれがうまく構成されていても、コンパイル中に泣くでしょう。私の提案は、プリコンパイルされたバージョンを使用するか、ターゲット要件に従ってクロスコンパイルすることです。 – Alam
Busyboxは私が開発しようとしているモバイルプラットフォーム(webos)で利用できるものです。私はそれを私のMacでクロスコンパイルしようとしましたが、gccが実行可能ファイルを作成できないと言って失敗しました。私は古いバージョンのプリコンパイルされたバイナリを見つけることができません。私は数日間グーグルで行ってきました。あなたが言ったように、それは最終的にmake中に失敗したので、どんな提案もありません。 – cube