dpkg: -S /usr/local/include/libavformat/avformat.h not found.
![]()
Genete
I did originally run the command as you specified.
I ran it again to check, below is a copy and paste from the terminal
phillean@ubuntu:~$ dpkg -S /usr/local/include/libavformat/avformat.h
dpkg: /usr/local/include/libavformat/avformat.h not found.
OK. So, I now Iâm confused. Accoording to the âlocateâ command there is only one relevant pkg config file â/usr/lib/pkgconfig/libavformat.pcâ (I assume that the locate command didnât complain about de database being too old). And accoording to that pkg config file the output of âpkg-config --cflags libavformatâ should be -I/usr/include/ffmpeg, but it isnât (as seen from the command itself and the configure output). Could you do the following comand:
pkg-config --debug --cflags libavformat
The ouput is somewhat long, so you might need to do:
pkg-config --debug --cflags libavformat 2> pc.out
and attach the file pc.out to your posting. Hopefully that will shed some light onto why pkg-config gives the output it does.
G.
here is the command and output
phillean@ubuntu:~$ pkg-config --debug --cflags libavformat 2> pc.out
-I/usr/local/include
I will send the long output for pkg-config --debug --cflags libavformat when I figure out how to attach a txt file
Well, apparently your locate database is out-of-date since accoording to the debug output of pkg-config there actually really is a file named â/usr/local/lib/pkgconfig/libavformat.pcâ. Maybe you should run updatedb (as root) and try the locate command again?
Anyway, the question now becomes do you want to use your distribution based libavformat (/usr/include/ffmpeg/avformat.h) or your local copy (/usr/local/include/libavformat/avformat.h). I guess the answer to that revolves around what (source?) package you used to install that local copy. You could try to change the following line in /usr/local/lib/pkgconfig/libavformat.pc:
Cflags: -I${includedir}
into:
Cflags: -I${includedir}/libavformat
And check that:
pkg-config --cflags libavformat
returns:
-I/usr/local/include/libavformat
And run the whole configuration and build cycle again. The other option is to remove (or move away) the file /usr/local/lib/pkgconfig/libavformat.pc, and see if the distribution based copy is used for the configuration and build cycle.
G.
thanks Gerco,
that has moved me several steps ahead.
I did this but it did not fix it, however your next suggeestion worked.
Yes it returned -I/usr/local/include/libavformat
It now progresses further in the âmakeâ stage and now halts at:
trgt_av.cpp: In member function âbool VideoEncoder::write_frame(AVFormatContext*, AVStream*, AVFrame*)â:
trgt_av.cpp:392: warning: âimg_convertâ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:2536)
trgt_av.cpp:394: warning: âimg_convertâ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:2536)
trgt_av.cpp: In member function âvoid Target_LibAVCodec::LibAVEncoder::CleanUp()â:
trgt_av.cpp:677: error: cannot convert âByteIOContext**â to âByteIOContext*â for argument â1â to âint url_fclose(ByteIOContext*)â
make[4]: *** [libmod_libavcodec_la-trgt_av.lo] Error 1
I can build synfig without libavcodec so I have done that using. ./configure --without-libavcodec
Not sure what to do about the libmod_libavcodev error.
This build problem is fixed by pabs in revision 2030 in the Subversion repository (your libavcodec is relatively newer than your synfig). So, if you want to persue this you can do a checkout from the repository or wait for the new release 0.61.09.
G.