ffmpeg에 대한 ./configure
스크립트의 문제점이 있습니다. 내 리눅스 환경은 제한된 일련의 리눅스 명령만을 허용하는 busybox를 사용한다. ffmpeg ./configure
스크립트에서 사용되는 명령 중 하나가 mktemp -u
인 경우 linux의 busybox는 -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는 스크립트와 함께 좋은 아니에요, 그래서 누구 하나 내가 이것을 강제 할 수있는 방법에 대한 생각이 궁금 해서요 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와 함께 실패했습니다.이전 버전의 바이너리를 찾을 수 없습니다. 나는 며칠 동안 인터넷 검색을 해왔다. 당신이 말했듯이, 그것은 제안하는 동안 궁극적으로 실패했습니다. – cube