2011-01-14 9 views
3

Hat jemand ffmpeg 0.6.1 für Solaris 10 Sparc kompiliert? Ich erhalte die folgenden Fehler:kompilieren ffmpeg unter 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 

Antwort

2

Leider scheint Solaris /usr/bin/grep does not support the -q flag, Sie müssen Ihren Pfad zu finden entweder GNU grep oder die POSIX-kompatiblen /usr/xpg4/bin/grep als Grep-Befehl festlegen. Google kann auch ein paar Patches für ffmpeg finden, die von Leuten geschrieben wurden, um das Problem zu lösen.

Die ffmpeg Autoren know von diesem problem, aber weigern sich, ihre Konfigurationsskript zu ändern, da sie auf POSIX-Compliance angewiesen sind.

+0

Danke, ich werde das heute überprüfen. Ich kann die von Ihnen erwähnten Patches nicht finden. Können Sie bitte einen Link angeben? – Raoul

+0

Hallo, ich habe versucht, einen Alias ​​für Grep über: alias = '/ usr/xpg4/bin/grep' dann habe ich die Konfiguration Teil und erhielt die gleichen Fehler. – Raoul

+1

Skripte wie configure werden in einem neuen Shell-Prozess ausgeführt und nehmen keine Aliase aus dem aktuellen Shell-Prozess auf - Sie müssten Ihren Pfad ändern. Die Patches, auf die ich mich bezog, waren Links wie https://trac.handbrake.fr/browser/trunk/contrib/patch-ffmpeg-solaris.patch?rev=1531 – alanc

0

Es sieht aus wie der Build-Skript erwartet die GNU-Versionen von Helfern wie grep zu finden. Stellen Sie sicher, dass es die richtigen, z. durch Aliasing Grep zu /usr/sfw/bin/ggrep wenn Sie the Sun Freeware package installiert haben.

+0

Vielen Dank, ich werde dies – Raoul

+0

einen Versuch geben, ich versucht, dies durch einen Aliasnamen zu erstellen: alias grep = ‚/ usr/sfw/bin/ggrep‘ und dann erneut das configure tat, habe ich immer noch die obigen Fehler . Hast du noch etwas vorgeschlagen? Vielen Dank. – Raoul

+0

Hm, gute Frage. dann symlink einfach irgendwo mit dem Namen 'grep', und legen Sie den Platz an der Vorderseite des PATH. – ShiDoiSi

4

1.- Stellen Sie sicher, gcc

installiert
install gcc if needed 
# pkg search gcc 
# pkg install pkg:/developer/[email protected] 

2.- Stellen Sie sicher, Yams installiert ist

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.- Stellen Sie sicher, GNU ist Make

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

4.- Stellen Sie sicher, dass es die richtige Grep

abgreift

5.- Quellcode downloaden: 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 

Noël Jaffré

0

Nach zu diesem Thema mehrere Stunden verbringen I 2.2.2 unter Solaris 5.1 SPARC schließlich ffmpeg installiert. Steps:

  • herunterladen tar Quelle der neuesten Version von http://www.ffmpeg.org/download.html
  • Entpacken Sie die tar
  • Grep zu GGREP beziehen sollte - alias grep =/usr/sfw/bin/ggrep
  • Verwenden bash statt sh - 1. Zeile der Konfiguration und version.sh Dateien müssen geändert werden
  • Verwenden Sie nawk anstelle von awk
  • Die Config behandelt implizite Funktion-Deklaration Warnung als Fehler. Dies könnte zu einem Problem führen - ich musste es zurück auf Warnstufe als es verursachte einen Fehler in Bezug auf eine fehlende Referenz (das war eine Standard-Bibliothek, so sollte es kein Problem sein)
  • In Bezug auf die 4-6 Punkte gelten die folgenden Befehle
  • 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

  • Run konfigurieren

  • configure --Extra-cflags = "- fpic" --disable-MMX --disable-protocol = udp --disable-Encoder = Nellymoser --disable-debug --arch = Sparc --target-o = sunos

  • gmake

  • Start ffmpeg zu installieren: ./ffmpeg