#8855 closed defect (duplicate)

ffmpeg 4.3.1 failing to build on ppc64

Reported by: John Paul Adrian Glaubitz Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Since version 4.3.1, ffmpeg fails to build from source on big-endian ppc64:

gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc64-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/swscale.d -MT libswscale/swscale.o -c -o libswscale/swscale.o src/libswscale/swscale.c
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_abgr’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: implicit declaration of function ‘vec_xl’; did you mean ‘vec_rl’? [-Werror=implicit-function-declaration]
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc64-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/swscale_unscaled.d -MT libswscale/swscale_unscaled.o -c -o libswscale/swscale_unscaled.o src/libswscale/swscale_unscaled.c
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgra’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’
  438 | DEFCSP420_CVT(yuv2_bgra,  out_bgra)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’
  438 | DEFCSP420_CVT(yuv2_bgra,  out_bgra)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc64-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/utils.d -MT libswscale/utils.o -c -o libswscale/utils.o src/libswscale/utils.c
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgba’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’
  439 | DEFCSP420_CVT(yuv2_rgba,  out_rgba)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’
  439 | DEFCSP420_CVT(yuv2_rgba,  out_rgba)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_argb’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’
  440 | DEFCSP420_CVT(yuv2_argb,  out_argb)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’
  440 | DEFCSP420_CVT(yuv2_argb,  out_argb)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgb24’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’
  441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’
  441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgr24’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’
  442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’
  442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc64-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/vscale.d -MT libswscale/vscale.o -c -o libswscale/vscale.o src/libswscale/vscale.c
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc64-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/yuv2rgb.d -MT libswscale/yuv2rgb.o -c -o libswscale/yuv2rgb.o src/libswscale/yuv2rgb.c
cc1: some warnings being treated as errors
make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:59: libswscale/ppc/yuv2rgb_altivec.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/standard'

I assume the code contains changes that always assumes the host system to be POWER8+ when it's on a ppc64 machine. However, the default baseline for big-endian ppc64 is POWER5.

Full build log in: https://buildd.debian.org/status/fetch.php?pkg=ffmpeg&arch=ppc64&ver=7%3A4.3.1-2&stamp=1597687204&raw=0

Change History (3)

comment:1 by John Paul Adrian Glaubitz, 13 months ago

For access to a big-endian ppc64 machine running Debian unstable in order to reproduce the problem, see the GCC compile farm, machine name is gcc203 (https://gcc.gnu.org/wiki/CompileFarm).

comment:2 by John Paul Adrian Glaubitz, 13 months ago

Just noticed, this affects 32-bit PowerPC (ppc32) as well:

src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_abgr’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: implicit declaration of function ‘vec_xl’; did you mean ‘vec_rl’? [-Werror=implicit-function-declaration]
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’
  437 | DEFCSP420_CVT(yuv2_abgr,  out_abgr)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:437:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgra’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’
  438 | DEFCSP420_CVT(yuv2_bgra,  out_bgra)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’
  438 | DEFCSP420_CVT(yuv2_bgra,  out_bgra)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:438:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgba’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’
  439 | DEFCSP420_CVT(yuv2_rgba,  out_rgba)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’
  439 | DEFCSP420_CVT(yuv2_rgba,  out_rgba)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:439:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_argb’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’
  440 | DEFCSP420_CVT(yuv2_argb,  out_argb)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’
  440 | DEFCSP420_CVT(yuv2_argb,  out_argb)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:440:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgb24’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’
  441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’
  441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:441:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/utils.d -MT libswscale/utils.o -c -o libswscale/utils.o src/libswscale/utils.c
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/vscale.d -MT libswscale/vscale.o -c -o libswscale/vscale.o src/libswscale/vscale.c
src/libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgr24’:
src/libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  338 |             y0 = vec_xl(0, y1i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’
  442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’
  340 |             y1 = vec_xl(0, y2i);                                              \
      |                  ^~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’
  442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
      | ^~~~~~~~~~~~~
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
src/libswscale/ppc/yuv2rgb_altivec.c:442:1: error: cannot convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size
gcc -I. -Isrc/ -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 -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_swscale -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 -maltivec -mabi=altivec -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/powerpc-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  -I/usr/include/openjpeg-2.3  -I/usr/include/opus -I/usr/include/opus -D_REENTRANT  -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/powerpc-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16     -I/usr/include/srt -I/usr/include/p11-kit-1           -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2  -I/usr/include/libxml2            -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -D_REENTRANT -I/usr/include/SDL2  -MMD -MF libswscale/yuv2rgb.d -MT libswscale/yuv2rgb.o -c -o libswscale/yuv2rgb.o src/libswscale/yuv2rgb.c
cc1: some warnings being treated as errors
make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:59: libswscale/ppc/yuv2rgb_altivec.o] Error 1

See: https://buildd.debian.org/status/fetch.php?pkg=ffmpeg&arch=powerpc&ver=7%3A4.3.1-2&stamp=1597687424&raw=0

comment:3 by Carl Eugen Hoyos, 13 months ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.