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:46:32 UTC 2013


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.

Regards
-- 
Sebastian Ramacher
-------------- 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/c2b50ac4/attachment.sig>


More information about the debian-science-maintainers mailing list