LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Problem building dirac schroedinger support in ffmpeg and mplayer (https://www.linuxquestions.org/questions/linux-software-2/problem-building-dirac-schroedinger-support-in-ffmpeg-and-mplayer-701507/)

ordealbyfire83 02-01-2009 06:54 PM

Problem building dirac schroedinger support in ffmpeg and mplayer
 
Hello,
I am trying to build mplayer and ffmpeg from source, and am currently having problems compiling support for dirac and schroedinger. In particular, when I try to configure ffmpeg like so

Code:

./configure --enable-x11grab  --enable-libfaad --enable-libfaac --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-libschroedinger --enable-libdirac --enable-gpl
I get the following

Package schroedinger-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `schroedinger-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'schroedinger-1.0' found
Package schroedinger-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `schroedinger-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'schroedinger-1.0' found
ERROR: libschroedinger not found

I have used standard configure/make/make install with no obscure arguments for dirac and schroedinger as well as 18 other libs--thus all are in /usr/local. I have edited the said PKG_CONFIG_PATH to have
/usr/local/lib/pkgconfig (where all the *.pc files are). I also have /usr/local/lib in /etc/ld.so.conf. Opening schroedinger-1.0.pc I see

Code:

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/schroedinger-1.0
toolsdir=${exec_prefix}/bin


Name: schroedinger-1.0
Description: Dirac codec library
Requires: liboil-0.3 >= 0.3.13
Version: 1.0.5
Libs: -L${libdir} -lschroedinger-1.0 -lpthread -lm
Cflags: -I${includedir}

This all seems correct. Does ffmpeg not support these two libraries? (It detects all the others (faac/d, lame, etc) with no problem.) Similarly mplayer does not detect them as well. Any suggestions? Thanks.

David the H. 02-02-2009 12:39 AM

My version of ffmpeg, from Marillat's excellent debian-multimedia.org, has both enabled, so it should be possible. Specifically it shows the following flags:
Code:

--enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger
I'm not sure why there are also "--disable" flags, but I suppose there must be a reason. I guess it ensures that one is set for encoding and the other for decoding. Truthfully, I've never tried either one.

I personally don't have much experience working with home-compiled library dependencies, so the only thing I can suggest is to perhaps try your distro's packaged version of the libraries instead (don't forget to install the -dev packages too).

diracvideo 02-03-2009 09:10 PM

Have you tried running pkg-config from the command line to check if it works?

pkg-config --cflags --libs schroedinger-1.0

Has liboil-0.3 been installed in /usr/local/lib prefix as well? Schroedinger depends on liboil and so pkg-config can fail if liboil-0.3.pc cannot be found in any of the directories in PKG_CONFIG_PATH.

ordealbyfire83 02-08-2009 06:57 PM

Thanks for the replies. Indeed the issue was with pkg-config. I had to define PKG_CONFIG_PATH, which was/is always blank, and then run ldconfig. I just upgraded Fedora to version 10 from 7. Apparently this environment variable was saved permanently in F7 as I never had this problem before.


Running ldconfig was problematic--it wouldn't work at a user prompt (su -c "ldconfig"). Being that the variable only works for ONE command line or tab, it too would not work in doing su - and then ldconfig, wherein ldconfig is then aware of root's (temporary) PKG_CONFIG_PATH and not mine.


Instead I had to define the variable, run ldconfig, and build the packages as root. In short, mplayer and ffmpeg did build fine against libdirac and libschroedinger. (This also let me rebuild audacity with mp3/id3tag support, whose libraries weren't picked up by pkg-config when I built it last week.)


All times are GMT -5. The time now is 12:28 AM.