У меня проблема со скриптом ./configure
для ffmpeg. Моя среда linux использует busybox, который допускает только ограниченный набор команд linux. Одна команда, которая используется в сценарии ffmpeg ./configure
, - mktemp -u
, проблема в том, что busybox для linux не распознает ключ -u как действительный, поэтому он жалуется на это и прерывает процесс настройки.
Это соответствующий код в ./configure
, который использует команду mktemp -u
:
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-скриптинге, поэтому мне было интересно, есть ли у кого-нибудь идея о том, как заставить этот скрипт конфигурации не использовать mktemp -u
и использовать альтернативу 'replace' вариант, который доступен в соответствии с фрагментом выше. Спасибо.
кстати ... простое удаление переключателя -u
не работает. Также не заменяя его на -t
или -p
. Я считаю, что mktemp
нужно полностью обойти.