[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#915544: ffmpeg FTBFS against opencv 3.4.4



Hi,

On 04/12/2018 15:24, Mo Zhou wrote:
> Source: ffmpeg
> Version: 7:4.0.3-1
> Severity: important
> 
> builddlog attached.

Relevant extract:
> check_func_headers opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc
> test_ld cc -lopencv_core -lopencv_imgproc
> test_cc
> BEGIN /tmp/ffconf.jas2uoC0/test.c
>     1	#include <opencv2/core/core_c.h>
>     2	#include <stdint.h>
>     3	long check_cvCreateImageHeader(void) { return (long) cvCreateImageHeader; }
>     4	int main(void) { int ret = 0;
>     5	 ret |= ((intptr_t)check_cvCreateImageHeader) & 0xFFFF;
>     6	return ret; }
> END /tmp/ffconf.jas2uoC0/test.c
> gcc -Wdate-time -D_FORTIFY_SOURCE=2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-overflow -fstack-protector-all -fPIE -std=c11 -fomit-frame-pointer -fPIC -pthread -I/usr/include/p11-kit-1 -I/usr/include/lilv-0 -I/usr/include/sratom-0 -I/usr/include/sord-0 -I/usr/include/serd-0 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/uuid -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/bs2b -I/usr/include/libdrm -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/fribidi -c -o /tmp/ffconf.jas2uoC0/test.o /tmp/ffconf.jas2uoC0/test.c
> In file included from /usr/include/opencv2/core/core_c.h:48,
>                  from /tmp/ffconf.jas2uoC0/test.c:1:
> /usr/include/opencv2/core/types_c.h: In function 'cvIplImage':
> /usr/include/opencv2/core/types_c.h:370:12: error: incompatible types when returning type 'int' but 'IplImage' {aka 'struct _IplImage'} was expected
>      return _IplImage();
>             ^~~~~~~~~~~
> ERROR: libopencv not found
> make[1]: *** [debian/rules:214: override_dh_auto_configure] Error 1

Simply trying to compile the above header with a C compiler fails:

> $ gcc -include /usr/include/opencv2/core/core_c.h -x c - < /dev/null
> In file included from /usr/include/opencv2/core/core_c.h:48,
>                  from <command-line>:32:
> /usr/include/opencv2/core/types_c.h: In function ‘cvIplImage’:
> /usr/include/opencv2/core/types_c.h:370:12: error: incompatible types when returning type ‘int’ but ‘IplImage’ {aka ‘struct _IplImage’} was expected
>      return _IplImage();
>             ^~~~~~~~~~~

So it looks like the entire C API is bust in 3.4.4.

I seem some bugs and upstream ffmpeg discussion related to this:
https://github.com/opencv/opencv/issues/10963
https://ffmpeg.org/pipermail/ffmpeg-devel/2018-March/226872.html

It seems the conclusion is that the OpenCV C API is dead and FFmpeg
should drop all support for it. That seems the likely course of action
for the Debian package unless someone can think of anything better.

James

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: