Bug#719998: opencv: FTBFS with new libav: error: 'av_open_input_file' was not declared in this scope

Sebastian Ramacher sramacher at debian.org
Tue Sep 3 22:52:35 UTC 2013


On 2013-09-04 00:46:32, Sebastian Ramacher wrote:
> Control: tags -1 + patch
> 
> On 2013-08-17 07:38:03, Daniel Schepler wrote:
> >  10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o                                                                       
> > cd /tmp/buildd/opencv-2.3.1/obj-x86_64-linux-gnu/modules/highgui && /usr/bin/c++   -DCVAPI_EXPORTS -DHAVE_CVCONFIG_H -DHAVE_JASPER -DHAVE_JPEG -DHAVE_OPENEXR -DHAVE_PNG -DHAVE_TIFF -DHIGHGUI_EXPORTS -Dopencv_highgui_EXPORTS -Wall -Wno-long-long -pthread -ffunction-sections  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -fomit-frame-pointer -ffast-math -msse -msse2 -DNDEBUG  -fPIC -I/usr/lib/pymodules/python2.7/numpy/core/include -I/tmp/buildd/opencv-2.3.1/. -I/tmp/buildd/opencv-2.3.1/obj-x86_64-linux-gnu -I/tmp/buildd/opencv-2.3.1/include -I/tmp/buildd/opencv-2.3.1/include/opencv -I/usr/include/OpenEXR -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/harfbuzz -I/tmp/buildd/opencv-2.3.1/modules/highgui/include -I/tmp/buildd/opencv-2.3.1/modules/highgui/../core/include -I/tmp/buildd/opencv-2.3.1/modules/highgui/../imgproc/include -I/tmp/buildd/opencv-2.3.1/modules/highgui/src -I/tmp/buildd/opencv-2.3.1/obj-x86_64-linux-gnu/modules/highgui    -D PYTHON_USE_NUMPY=1 -o CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o -c /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg.cpp
> > In file included from /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg.cpp:45:0:
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'void CvCapture_FFMPEG::close()':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:458:9: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
> >          av_close_input_file(ic);
> >          ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:458:31: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
> >          av_close_input_file(ic);
> >                                ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'bool CvCapture_FFMPEG::reopen()':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:489:5: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
> >      av_close_input_file(ic);
> >      ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:489:27: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/include/libavformat/avformat.h:1397) [-Wdeprecated-declarations]
> >      av_close_input_file(ic);
> >                            ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:492:52: error: 'av_open_input_file' was not declared in this scope
> >      av_open_input_file(&ic, filename, NULL, 0, NULL);
> >                                                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:493:27: error: 'av_find_stream_info' was not declared in this scope
> >      av_find_stream_info(ic);
> >                            ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:500:50: error: 'avcodec_thread_init' was not declared in this scope
> >      avcodec_thread_init(enc, get_number_of_cpus());
> >                                                   ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:503:28: error: 'avcodec_open' was not declared in this scope
> >      avcodec_open(enc, codec);
> >                             ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'bool CvCapture_FFMPEG::open(const char*)':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:530:63: error: 'av_open_input_file' was not declared in this scope
> >      int err = av_open_input_file(&ic, _filename, NULL, 0, NULL);
> >                                                                ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:535:33: error: 'av_find_stream_info' was not declared in this scope
> >      err = av_find_stream_info(ic);
> >                                  ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:547:54: error: 'avcodec_thread_init' was not declared in this scope
> >          avcodec_thread_init(enc, get_number_of_cpus());
> >                                                       ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:552:36: error: 'avcodec_open' was not declared in this scope
> >              avcodec_open(enc, codec) < 0)
> >                                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In function 'AVStream* icv_add_video_stream_FFMPEG(AVFormatContext*, AVCodecID, int, int, int, double, int)':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1032:26: error: 'av_new_stream' was not declared in this scope
> >   st = av_new_stream(oc, 0);
> >                           ^
> > In file included from /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg.cpp:45:0:
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In function 'int icv_av_write_frame_FFMPEG(AVFormatContext*, AVStream*, uint8_t*, uint32_t, AVFrame*)':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1150:20: warning: 'int avcodec_encode_video(AVCodecContext*, uint8_t*, int, const AVFrame*)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4030) [-Wdeprecated-declarations]
> >          out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
> >                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1150:72: warning: 'int avcodec_encode_video(AVCodecContext*, uint8_t*, int, const AVFrame*)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4030) [-Wdeprecated-declarations]
> >          out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
> >                                                                         ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'void CvVideoWriter_FFMPEG::close()':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1327:20: error: 'url_fclose' was not declared in this scope
> >    url_fclose(oc->pb);
> >                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'bool CvVideoWriter_FFMPEG::open(const char*, int, double, int, int, bool)':
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1440:35: error: 'av_set_parameters' was not declared in this scope
> >      if (av_set_parameters(oc, NULL) < 0) {
> >                                    ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1444:35: error: 'dump_format' was not declared in this scope
> >      dump_format(oc, 0, filename, 1);
> >                                    ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1471:36: error: 'avcodec_open' was not declared in this scope
> >      if ( (err=avcodec_open(c, codec)) < 0) {
> >                                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1508:42: error: 'URL_WRONLY' was not declared in this scope
> >          if (url_fopen(&oc->pb, filename, URL_WRONLY) < 0) {
> >                                           ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1508:52: error: 'url_fopen' was not declared in this scope
> >          if (url_fopen(&oc->pb, filename, URL_WRONLY) < 0) {
> >                                                     ^
> > /tmp/buildd/opencv-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:1514:25: error: 'av_write_header' was not declared in this scope
> >      av_write_header( oc );
> >                          ^
> > make[3]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o] Error 1
> 
> The attached patch backports the fixes for libav 9 from opencv 2.4.6.

Now with the patch really attached.

Regards
-- 
Sebastian Ramacher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: opencv_libav9.patch
Type: text/x-diff
Size: 6511 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20130904/fc81342c/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20130904/fc81342c/attachment-0001.sig>


More information about the debian-science-maintainers mailing list