2011-01-14 4 views
3

Кто-нибудь скомпилировал ffmpeg 0.6.1 для Solaris 10 sparc? Я получаю следующие ошибки:не может скомпилировать ffmpeg на Solaris 10 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 

ответ

2

К сожалению, Solaris /usr/bin/grep does not support the -q flag, похоже, что вам нужно установить свой путь, чтобы найти GNU grep или POSIX-совместимый /usr/xpg4/bin/grep в качестве команды grep. Google также может найти пару патчей для ffmpeg, которые люди написали, чтобы решить эту проблему.

Авторы ffmpeg know этого problem, но отказываются менять свой скрипт configure, поскольку они полагаются на соответствие POSIX.

+0

Спасибо, я проверю это сегодня. Я не могу найти исправления, которые вы упомянули, не могли бы вы предоставить ссылку, пожалуйста? – Raoul

+0

Привет, я попытался создать псевдоним для grep через: alias = '/ usr/xpg4/bin/grep', после чего я сделал часть конфигурации и получил те же ошибки. – Raoul

+1

Сценарии, такие как configure run в новом процессе оболочки и не будут подбирать псевдонимы из вашего текущего процесса оболочки - вам придется изменить свой путь. Патчи, на которые я ссылался, были в таких ссылках, как https://trac.handbrake.fr/browser/trunk/contrib/patch-ffmpeg-solaris.patch?rev=1531 – alanc

0

Похоже, скрипт сборки ожидает найти GNU-версии помощников, таких как grep. Убедитесь, что он подбирает правильные, например. по aliasing grep до /usr/sfw/bin/ggrep, если у вас установлено the Sun Freeware package.

+0

Спасибо, я попробую – Raoul

+0

Я попытался это сделать, создав псевдоним: alias grep = '/ usr/sfw/bin/ggrep', а затем повторно настроил, я все еще получаю ошибки выше , Что-нибудь еще, что вы предлагаете, я пытаюсь? Благодарю. – Raoul

+0

Хм, хороший вопрос. затем просто соедините ссылку с именем 'grep' и поставьте место в передней части PATH. – ShiDoiSi

4

1.- Убедитесь НКУ установлен

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 Make установлен

Installed if required 
# pkg search gnu make 
# pkg install pkg:/developer/build/[email protected] 

4.- Удостоверьтесь, что он подбирает правильный град

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é

0

Проведя несколько часов на эту тему я, наконец, установлен FFmpeg 2.2.2 на Solaris 5.1 SPARC. Шаги:

  • Скачать источник деготь последней версии от http://www.ffmpeg.org/download.html
  • Извлечение смолы
  • Grep следует обратиться к GGREP - псевдоним Grep =/USR/SFW/бен/ggrep
  • Использование баш вместо sh - 1-й ряд конфигурации и version.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 = "- СПОС" --disable-MMX повреждают-протокол = УДП повреждают кодировщик = Nellymoser --disable-отладки --arch = СПАРК --target-Os = SunOS

  • gmake установки

  • начала FFmpeg: ./ffmpeg