← Back to team overview

desktop-packages team mailing list archive

[Bug 1528297] Re: libvpx FTBFS with gcc 5.3 on armhf

 

I *think* the relevant C code is non-compliant.  C99 6.7.5.2(4) "If the
size is not present, the array type is an incomplete type"; 6.7.5.3(12)
"If the function declarator is not part of a definition of that
function, parameters may have incomplete type".  That would seem to
imply that in the situation where the declarator is part of a definition
of the function, as in this case, parameters may not have incomplete
type, although oddly I can't find an explicit statement of that.
Perhaps a more awake C standards pedant could find one? :-)

The attached patch can be added to the top of the patch stack of libvpx
1.4.0-4 and avoids this construction.  It at least compiles on the armhf
porter box; I haven't tried doing anything with it at run-time.  I
assume that a similar change can be applied to oxide-qt, though I also
haven't tried that.

** Patch added: "incomplete-array-parameters.patch"
   https://bugs.launchpad.net/ubuntu/+source/libvpx/+bug/1528297/+attachment/4538684/+files/incomplete-array-parameters.patch

** Tags added: patch

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libvpx in Ubuntu.
https://bugs.launchpad.net/bugs/1528297

Title:
  libvpx FTBFS with gcc 5.3 on armhf

Status in gcc-5 package in Ubuntu:
  New
Status in libvpx package in Ubuntu:
  New
Status in oxide-qt package in Ubuntu:
  New

Bug description:
  (originally reported as bug #1527741)

  Trying to build libvpx from source in an up-to-date xenial arhmf
  environment, with gcc 5.3.1, fails with the following error:

  gcc  -marm -Wall -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -march=armv6 -DNDEBUG -O2 -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wunused-but-set-variable -Wno-unused-function -I. -I"/tmp/libvpx-1.4.0" -c -o vp8/common/treecoder.c.o /tmp/libvpx-1.4.0/vp8/common/treecoder.c
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c: In function 'tree2tok':
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c:32:9: error: invalid use of array with unspecified bounds
           const vp8_tree_index j = t[i++];
           ^
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c:32:34: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
           const vp8_tree_index j = t[i++];
                                    ^
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c: In function 'branch_counts':
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c:96:13: error: invalid use of array with unspecified bounds
               i = tree[ i + b];
               ^
  /tmp/libvpx-1.4.0/vp8/common/treecoder.c:96:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
               i = tree[ i + b];
                 ^
  Makefile:148: recipe for target 'vp8/common/treecoder.c.o' failed

  
  I’m attaching a full build log. This is reproducible both on a porter box and in a armhf chroot.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1528297/+subscriptions


References