无法在Solaris 10上编译ffmpeg sparc
问题描述:
有没有人为Solaris 10 sparc编译过ffmpeg 0.6.1?我收到以下错误:无法在Solaris 10上编译ffmpeg sparc
uname -a
SunOS SERVERNAME 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-V440
[email protected]>/export/home/USERID/ffmpeg-0.6.1/configure --prefix=/export/home/USERID/ffmpegX --extra-cflags="-fPIC" --disable-mmx --disable-protocol=udp --disable-encoder=nellymoser
Broken shell detected. Trying alternatives.
Trying shell bash
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
Unknown C compiler gcc
awk: syntax error near line 1
awk: illegal statement near line 1
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
install prefix /export/home/USERID/ffmpegX
source path /export/home/USERID/ffmpeg-0.6.1
C compiler gcc
.align is power-of-two no
ARCH sparc (generic)
big-endian no
runtime cpu detection no
VIS enabled yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations yes
static yes
shared no
postprocessing support no
new filter support no
filters using lavformat no
network support yes
threading support no
SDL support no
Sun medialib support no
AVISynth enabled no
libdc1394 support no
libdirac enabled no
libfaac enabled no
libfaad enabled no
libfaad dlopened no
libgsm enabled no
libmp3lame enabled no
libnut enabled no
libopencore-amrnb support no
libopencore-amrwb support no
libopenjpeg enabled no
librtmp enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled no
libvorbis enabled no
libvpx enabled no
libx264 enabled no
libxvid enabled no
zlib enabled no
bzlib enabled no
Enabled decoders:
pr: -- empty file
Enabled encoders:
pr: -- empty file
Enabled hwaccels:
pr: -- empty file
Enabled parsers:
pr: -- empty file
Enabled demuxers:
pr: -- empty file
Enabled muxers:
pr: -- empty file
Enabled protocols:
pr: -- empty file
Enabled filters:
pr: -- empty file
Enabled bsfs:
pr: -- empty file
Enabled indevs:
pr: -- empty file
Enabled outdevs:
pr: -- empty file
License: LGPL version 2.1 or later
Creating config.mak and config.h...
[email protected]> gmake
/export/home/USERID/ffmpeg-0.6.1/version.sh: syntax error at line 4: `revision=$' unexpected
CC libavdevice/alldevices.o
libavdevice/alldevices.c: In function `avdevice_register_all':
libavdevice/alldevices.c:42: error: `CONFIG_ALSA_OUTDEV' undeclared (first use in this function)
libavdevice/alldevices.c:42: error: (Each undeclared identifier is reported only once
libavdevice/alldevices.c:42: error: for each function it appears in.)
libavdevice/alldevices.c:42: error: `CONFIG_ALSA_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:43: error: `CONFIG_AUDIO_BEOS_OUTDEV' undeclared (first use in this function)
libavdevice/alldevices.c:43: error: `CONFIG_AUDIO_BEOS_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:44: error: `CONFIG_BKTR_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:45: error: `CONFIG_DV1394_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:46: error: `CONFIG_JACK_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:47: error: `CONFIG_OSS_OUTDEV' undeclared (first use in this function)
libavdevice/alldevices.c:47: error: `CONFIG_OSS_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:48: error: `CONFIG_V4L2_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:49: error: `CONFIG_V4L_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:50: error: `CONFIG_VFWCAP_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:51: error: `CONFIG_X11_GRAB_DEVICE_INDEV' undeclared (first use in this function)
libavdevice/alldevices.c:54: error: `CONFIG_LIBDC1394_INDEV' undeclared (first use in this function)
gmake: *** [libavdevice/alldevices.o] Error 1
[email protected]> exit
script done on Fri Jan 14 11:34:05 2011
答
不幸的是,Solaris /usr/bin/grep
does not support the -q flag,看起来您需要设置路径为GNU grep
或符合POSIX标准的/usr/xpg4/bin/grep
作为grep命令。谷歌还可以找到一些补丁来解释人们为解决这个问题而编写的ffmpeg。
答
1.-确保GCC正在安装
install gcc if needed
# pkg search gcc
# pkg install pkg:/developer/[email protected]
2:确保山药安装
install yams if needed
download from http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
unzip, untar in local dir
#./configure
#make install
add the path
# PATH=$PATH:/usr/local/bin
3.-确保GNU确保安装
Installed if required
# pkg search gnu make
# pkg install pkg:/developer/build/[email protected]
4.-确保它提取正确的grep
e.g. by aliasing grep to /usr/sfw/bin/ggrep if you have the Sun Freeware package installed
5.-下载源代码:http://ffmpeg.org/releases/ffmpeg-1.0.tar.gz
a.- unzip, untar in local dir
b.- edit configure
1.- replace awk by nawk
2.- follow the patch configuration from https://trac.handbrake.fr/browser/trunk/contrib/patch-ffmpeg-solaris.patch?rev=1531
Some details about the reasons here : http://www.techques.com/question/1-4690966/can't-compile-ffmpeg-on-Solaris-10-sparc
Be careful the line numbers are not valid for version 1.0
place the modifications suggested accordingly
c.- #./configure
d.- # gmake
诺埃尔Jaffré
答
的最新版本
在这个题目我终于安装的ffmpeg 2.2.2在Solaris SPARC 5.1花费几个小时后。步骤:从 http://www.ffmpeg.org/download.html
- 下载焦油源提取tar
- grep的应该是指GGREP - 别名的grep =的/ usr/sfw/bin中/ ggrep
- 使用bash,而不是sh - 第一行配置和版本.sh 文件需要修改
- 使用nawk代替awk
- 配置处理隐式函数声明警告作为错误。 这可能会导致问题 - 我不得不将它设置回警告级别为 它导致关于缺少的引用(这是一个 标准库,所以它不应该是一个问题)的错误
- 关于4-6点适用以下命令
sed 's/\/bin\/sh/\/bin\/bash/' configure > configure.mod
sed 's/awk/nawk/' configure.mod > configure.mod2
sed '/implicit-function-declaration/d' configure.mod2 > configure.mod3
cp configure.mod3 configure
sed 's/\/bin\/sh/\/bin\/bash/' version.sh > version.sh.mod
cp version.sh.mod version.sh
运行配置
配置--extra-CFLAGS = “ - 子卡” - 禁用MMX --disable协议UDP = --disable编码器=得到Nellymoser - 禁用调试--arch = SPARC --target-OS =的SunOS
使用gmake安装
- 开始的ffmpeg:./ffmpeg
谢谢,我会试试这个 – Raoul 2011-01-26 10:42:43
我试着通过创建一个别名:alias grep ='/ usr/sfw/bin/ggrep'然后重新配置,我仍然得到上面的错误。你还有什么建议我尝试?谢谢。 – Raoul 2011-01-26 11:07:53