У меня возникла проблема с сценарием ./configure
для ffmpeg. В моей среде linux используется busybox, что позволяет использовать только ограниченный набор команд Linux. Одна команда, которая используется в скрипте ffmpeg ./configure
, - mktemp -u
, проблема здесь в том, что busybox для Linux не распознает ключ -u как действительный, поэтому он жалуется на него и прерывает процесс настройки.Проблема с скриптом configure
Это соответствующий код в ./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
}
Я не хорошо с Баш сценариев на всех, поэтому мне было интересно, если кто-то один имел представление о том, как я могу заставить это сконфигурируйте сценарий, чтобы не использовать mktemp -u
и используйте 'replacement' альтернативный вариант, доступный в соответствии с приведенным выше фрагментом. Благодарю.
btw ... просто удаление -u
переключатель не работает. Также не заменяет его -t
, или -p
. Я считаю, что mktemp
должен быть полностью обойден.
Почему вы хотите скомпилировать его на busybox? FFMPEG имеет n количество зависимостей. Он попросит n количество библиотек для компиляции. даже если он будет успешно настроен, он будет плакать во время компиляции. Мое предложение - использовать предварительно скомпилированную версию или скомпилировать ее в соответствии с целевым требованием. – Alam
Busybox - это то, что доступно для мобильной платформы (webos). Я для разработчиков. Я попытался скомпилировать его на своем Mac, но это не удалось с gcc, говоря, что он не может создать исполняемый файл.Я не могу найти какие-либо поздние версии предварительно скомпилированных двоичных файлов. Я работаю в течение нескольких дней. Любые предложения, потому что, как вы заявили, это в конечном итоге не удалось во время make. – cube