v4l-utils ftbfs in cosmic

Bug #1823650 reported by Matthias Klose
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
v4l-utils (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

https://launchpadlibrarian.net/418304769/buildlog_ubuntu-cosmic-amd64.v4l-utils_1.14.2-1_BUILDING.txt.gz

g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-compliance.o `test -f 'v4l2-compliance.cpp' || echo './'`v4l2-compliance.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-compliance.cpp:38:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-debug.o `test -f 'v4l2-test-debug.cpp' || echo './'`v4l2-test-debug.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-debug.cpp:35:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-input-output.o `test -f 'v4l2-test-input-output.cpp' || echo './'`v4l2-test-input-output.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-input-output.cpp:32:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-controls.o `test -f 'v4l2-test-controls.cpp' || echo './'`v4l2-test-controls.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-controls.cpp:33:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-io-config.o `test -f 'v4l2-test-io-config.cpp' || echo './'`v4l2-test-io-config.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-io-config.cpp:32:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-formats.o `test -f 'v4l2-test-formats.cpp' || echo './'`v4l2-test-formats.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-formats.cpp:33:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-buffers.o `test -f 'v4l2-test-buffers.cpp' || echo './'`v4l2-test-buffers.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-buffers.cpp:35:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
v4l2-test-buffers.cpp: In function ‘int captureBufs(node*, const cv4l_queue&, const cv4l_queue&, unsigned int, bool)’:
v4l2-test-buffers.cpp:690:36: warning: passing argument 2 to restrict-qualified parameter aliases with argument 3 [-Wrestrict]
     ret = select(node->g_fd() + 1, &fds, &fds, NULL, &tv);
                                    ^~~~ ~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-codecs.o `test -f 'v4l2-test-codecs.cpp' || echo './'`v4l2-test-codecs.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-codecs.cpp:33:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
g++ -I. -I../.. -I../../utils/common -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o v4l2_compliance-v4l2-test-colors.o `test -f 'v4l2-test-colors.cpp' || echo './'`v4l2-test-colors.cpp
In file included from v4l2-compliance.h:42,
                 from v4l2-test-colors.cpp:31:
../../utils/common/cv4l-helpers.h: In member function ‘void cv4l_buffer::init(const cv4l_buffer&)’:
../../utils/common/cv4l-helpers.h:843:29: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class cv4l_buffer’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   memcpy(this, &b, sizeof(b));
                             ^
../../utils/common/cv4l-helpers.h:817:7: note: ‘class cv4l_buffer’ declared here
 class cv4l_buffer : public v4l_buffer {
       ^~~~~~~~~~~
/bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o v4l2-compliance v4l2_compliance-v4l2-compliance.o v4l2_compliance-v4l2-test-debug.o v4l2_compliance-v4l2-test-input-output.o v4l2_compliance-v4l2-test-controls.o v4l2_compliance-v4l2-test-io-config.o v4l2_compliance-v4l2-test-formats.o v4l2_compliance-v4l2-test-buffers.o v4l2_compliance-v4l2-test-codecs.o v4l2_compliance-v4l2-test-colors.o ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
libtool: link: g++ -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/v4l2-compliance v4l2_compliance-v4l2-compliance.o v4l2_compliance-v4l2-test-debug.o v4l2_compliance-v4l2-test-input-output.o v4l2_compliance-v4l2-test-controls.o v4l2_compliance-v4l2-test-io-config.o v4l2_compliance-v4l2-test-formats.o v4l2_compliance-v4l2-test-buffers.o v4l2_compliance-v4l2-test-codecs.o v4l2_compliance-v4l2-test-colors.o ../../lib/libv4l2/.libs/libv4l2.so ../../lib/libv4lconvert/.libs/libv4lconvert.so -lrt -lpthread
/usr/bin/ld: ../../lib/libv4lconvert/.libs/libv4lconvert.so: undefined reference to `minor'
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:567: v4l2-compliance] Error 1
make[5]: Leaving directory '/<<PKGBUILDDIR>>/utils/v4l2-compliance'
make[4]: *** [Makefile:469: all-recursive] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/utils'
make[3]: *** [Makefile:582: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:509: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j1 returned exit code 2
make[1]: *** [debian/rules:24: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:15: build] Error 2

Matthias Klose (doko)
Changed in v4l-utils (Ubuntu):
importance: Undecided → High
tags: added: ftbfs rls-cc-incoming
Revision history for this message
Gregor Jasny (gjasny) wrote :

Hello,

maybe the following commit from the stable-1.14 branch fixes it: https://git.linuxtv.org/v4l-utils.git/commit/?h=stable-1.14&id=65b6f255a02de403621e478aac701e3ee56806a4

How could I re-create your setup?

Thanks,
-Gregor

Revision history for this message
Matthias Klose (doko) wrote : Re: [Bug 1823650] Re: v4l-utils ftbfs in cosmic

On 08.04.19 14:12, Gregor Jasny wrote:
> How could I re-create your setup?

this is cosmic, -release, -updates, -security. No -proposed.

Revision history for this message
Gregor Jasny (gjasny) wrote :

I verified that https://git.linuxtv.org/v4l-utils.git/commit/?h=stable-1.14&id=b6c3e824967e25857a41e1c0e23d010317566467 and https://git.linuxtv.org/v4l-utils.git/commit/?h=stable-1.14&id=65b6f255a02de403621e478aac701e3ee56806a4 fix the build issue. However there are some more fixes (double free and uninitialised memory) that I'd like to ship as well. The double free patch backport seems to be incomplete and I asked upstream for clarification: https://<email address hidden>/T/#u

I'd like to way one or two days for upstream, otherwise I'll build a package without the double-free fix and handle it later.

Thanks,
Gregor

Revision history for this message
Gregor Jasny (gjasny) wrote :

Hello,

attached you'll find the debdiff with critical patches for v4l-utils
1.14 in cosmic. All of them have been taken from v4l-utils stable-1.14
branch.

The source of this debdiff could be found in the debian v4l-utils repo
on salsa in the cosmic branch:

https://salsa.debian.org/debian/libv4l/tree/cosmic

How to proceed from here?

Thanks,
Gregor

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for the report but Cosmic build issues are low priority at this point, tagging as rls-cc-notfixing , that doesn't stop fixing those problems but they are not going to be tracked as rls issues

tags: added: rls-cc-notfixing
removed: rls-cc-incoming
Changed in v4l-utils (Ubuntu):
importance: High → Low
Changed in v4l-utils (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.