In building ffmpeg
from source, I got the following error to ./configure --with-libcelt
:
ERROR: libcelt not found
So I went to http://www.celt-codec.org/downloads/, cloned the repo, and ./autogen.sh; ./configure; make; make install; make check
ed it.
Back to ffmpeg
source directory, ./configure --with-libcelt
again gave the same error.
I tried soft-linking /opt/celt/libcelt/celt.h
into /usr/local/lib
, but I am now officially stabbing in the dark.
I thought /usr/local/lib
is the canonical place a ./configure
package would look for a library, and that the main named .h
eader file would be enough to show the configurator where things are. What's the right answer?
Header files, among other things, tell the compiler what functions, values, etc. exist in a library. Just because you point to the header file it doesn't mean that the linker will know where to look for the corresponding library.
/usr/lib
and/usr/local/lib
are normally used when installing third party programs. Now,/opt
is usually used for programs untar into one folder.From what I can see you have celt in the
/opt/celt
folder. Look for there for a file that looks something likelibcelt.so
. That is were you need to point the linker to. Assuming the file is somewhere in there, then you can point the linker to look into that folder by updating the library path variable as such:Then run your configure and make scripts again. You may need to start a clean installation.