Merkwürdiges Problem bei Installation von ffmpeg-php

Teco

New Member
Hallo zusammn,
zunächst ein großes Lob an die erstklassigen Beiträge zum Thema Serverkonfiguration! Sehr oft habe ich durch alleiniges Mitlesen eine Lösung zu meinem Problem bekommen.
Nur diesmal scheint es etwas hartnäckiger zu sein, weshalb ich mich nun anmelde. Ich habe zu meinem Problem auch schon sämtliche Threads hier im Forum gelesen, jedoch führte das zu keiner Lösung.

Folgendes Problem:
ich habe einen Root-Server mit Linux/SuSE 10.1, AMD64 Umgebung und Plesk 8.1.2
Als Paketmanager verwende ich Yast mit dem ich sehr gute Erfahrungen gemacht habe. Ich möchte auf meinem Server ffmpeg installieren inkl. der netten ffmpeg-php Extension um bequem Videos zu bearbeiten.
Der Ordentlichkeit halber habe ich mit Yast zunächst sämtliche von mir gewünschte Codecs installiert und schließlich ffmpeg. Das Ergebnis: ein wunderschön korrekt kompiliertes ffmpeg MIT der Option aktiviert: --enable-shared.

Hier die Ausgabe des ffmpeg:

Code:
FFmpeg version SVN-r10279, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libtheora --enable-libfaad --enable-libfaac --enable-libxvid --enable-liba52 --enable-swscaler --enable-pp --enable-gpl --enable-vhook --enable-x11grab --enable-libgsm --enable-libx264 --enable-libamr-nb --enable-libamr-wb
  libavutil version: 49.5.0
  libavcodec version: 51.42.0
  libavformat version: 51.12.2
  built on Sep  2 2007 15:47:55, gcc: 4.1.0 (SUSE Linux)
ffmpeg      SVN-r10279
libavutil   3212544
libavcodec  3353088
libavformat 3345410

Alles schön und gut soweit. Nun das eigentliche Problem: versuche ich nun im Anschluss ffmpeg-php korrekt nach Anleitung zu installieren, erhalte ich folgende Fehlermeldung:

Code:
c058:/ffmpeg-php-0.5.0 # phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
c058:/ffmpeg-php-0.5.0 # ./configure
checking for egrep... grep -E
checking for a sed that does not truncate output... //bin/sed
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether gcc and cc understand -c and -o together... yes
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext
checking for PHP extension directory... /usr/lib64/php5/extensions
checking for PHP installed headers prefix... /usr/include/php5
checking for re2c... no
configure: WARNING: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for ffmpeg support... yes, shared
checking for ffmpeg headers... [B]configure: error: ffmpeg headers not found. Make sure you've built ffmpeg as shared libs using the --enable-shared option[/B]
c058:/ffmpeg-php-0.5.0 #

Eines vorweg: eine bequeme Installation des ffmpeg-php über Yast gibt es einfach meines Wissens nicht (habe diverse Installationsquellen durchprobiert und eine Nacht lang Google vergeblich für ein passendes SuSe 10.1 Paket bemüht).
Ich habe weder die besagt fehlenden ffmpeg-header finden können, noch eine Idee das Problem zu lösen, bis auf die folgende, unelegante:

Installiere ich ffmpeg ohne Yast nach Anleitung und spiele danach ffmpeg-php auf, klappt die Installation reibungslos. Ich vermute also, dass die Art und Weise wie Yast das Programm installiert, von der abweicht, wie es normalerweise gehandhabt wird. Bestimmt ein Pfadproblem. Versucht habe ich auch mittels --prefix=/usr/bin/lib64 eine manuelle Pfadangabe anzugeben - auch ohne Erfolg.
Ich bin etwas ratlos und würde mich wirklich sehr freuen, wenn mir jemand einen entscheidenden Tip geben könnte. Denn: ohne Yast Installation des ffmpeg fehlen mir diverse Codecs (manuell installieren erzeugt bei mir zig Errors).

Viele Grüße
Teco
 
Dir fehlt schlicht und ergreifend das Entwicklerpaket für ffmpeg. Kleiner Tipp: Die Namen von Entwicklerpaketen, welche die benötigten Headerdateien enthalten, enden meist auf -devel.
 
Hallo Roger,
vielen Dank für deine Antwort!
Das Problem bei den -devel Paket über Yast ist die Tatsache, dass ich da einen Wust von weiteren Paketen (zig Codec-Devels, insgesamt über 100MB) mit installieren müsste. Das wollte ich eigentlich vermeiden. Gibt es keine Möglichkeit, ffmpeg-php nur das zwingend benötigte zu liefern? Könnte ich z.B. aus der ffmpeg Installation den besagten Headerfile "herauskopieren" und ffmpeg-php bei der Installation anbieten?
 
Das Problem bei den -devel Paket über Yast ist die Tatsache, dass ich da einen Wust von weiteren Paketen (zig Codec-Devels, insgesamt über 100MB) mit installieren müsste.
Es ist gerade der Sinn einer Paketverwaltung, dass Abhängigkeiten mit installiert werden. Ohne funktioniert es nicht. Das Headerfile alleine reicht nicht aus.
 
Hallo Roger,
soll heißen, es gibt definitiv keine andere Möglichkeit? Kennst du ein Repo für SuSe 10.1 wo ffmpeg-php mit enthalten ist? Dann könnte man die Problematik umgehen...
Grüße
 
Hallo nochmal,
ich habe jetzt die 100MB devel Pakete installiert und das ./configure wieder ausgeführt. Die Fehlermeldung hat sich leicht verändert:

Code:
checking for ffmpeg support... yes, shared
checking for ffmpeg headers... ...found in /usr/include/ffmpeg
checking for ffmpeg libavcodec.so... configure: error: ffmpeg share libraries not found. Make sure you've built ffmpeg as shared libs using the --enable-shared option

Jetzt findet er die Datei libavcodec.so nicht. Diese Datei befindet sich 100%ig im Verzeichnis /usr/lib64

Was ist denn nun das Problem?
 
ist /usr/lib64 überhaupt in /etc/ld.so.conf eingetragen?
--> man ldconfig
Ansonsten
Code:
export LDFLAGS="-L/usr/lib64"
 
Ich habe zwar das gleiche Problem, ist es aber ein unterschied, dass ich es auf Debian laufen habe ?

Oder kann mir das jemand gegen € einfach installieren. Weil ich habe es sehr eilig :D
 
Back
Top