Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 691882

Summary: media-plugins/gst-plugins-v4l2-1.14.4 : /.../types-compat.h:48:15: error: conflicting types for gint64
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: GStreamer package maintainers <gstreamer>
Status: RESOLVED FIXED    
Severity: normal CC: info, klaus818, mail, Martin.Jansa, mike, mylan, orzel, whissi
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=691846
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge-info.txt
emerge-history.txt
environment
etc.portage.tbz2
logs.tbz2
media-plugins:gst-plugins-v4l2-1.14.4:20190809-215717.log
temp.tbz2

Description Toralf Förster gentoo-dev 2019-08-10 06:52:54 UTC
In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.4/work/gst-plugins-good-1.14.4/sys/v4l2/ext/videodev2.h:62,
                 from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.4/work/gst-plugins-good-1.14.4/sys/v4l2/gstv4l2allocator.c:28:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.4/work/gst-plugins-good-1.14.4/sys/v4l2/ext/types-compat.h:48:15: error: conflicting types for ‘gint64’
   48 | #define __s64 gint64
      |               ^~~~~~
In file included from /usr/include/glib-2.0/glib/gtypes.h:32,

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_hardened-libressl-20190806-091828

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-9.1.0 *

Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python2.7 (fallback)
  [3]   pypy (fallback)
Available Ruby profiles:
  [1]   ruby24 (with Rubygems) *
Available Rust versions:
  [1]   rust-1.36.0 *



emerge -qpvO media-plugins/gst-plugins-v4l2
[ebuild  N    ] media-plugins/gst-plugins-v4l2-1.14.4  USE="-udev" ABI_X86="(64) -32 (-x32)"
Comment 1 Toralf Förster gentoo-dev 2019-08-10 06:52:57 UTC
Created attachment 586408 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2019-08-10 06:53:01 UTC
Created attachment 586410 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2019-08-10 06:53:03 UTC
Created attachment 586412 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2019-08-10 06:53:06 UTC
Created attachment 586414 [details]
etc.portage.tbz2
Comment 5 Toralf Förster gentoo-dev 2019-08-10 06:53:10 UTC
Created attachment 586416 [details]
logs.tbz2
Comment 6 Toralf Förster gentoo-dev 2019-08-10 06:53:13 UTC
Created attachment 586418 [details]
media-plugins:gst-plugins-v4l2-1.14.4:20190809-215717.log
Comment 7 Toralf Förster gentoo-dev 2019-08-10 06:53:16 UTC
Created attachment 586420 [details]
temp.tbz2
Comment 9 jospezial 2019-09-01 17:24:24 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #8)
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/635
> 
> master branch:
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/
> 45b6514f33b280842a381e700acc08a17cb9893c
> 
> 1.16 branch:
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/
> 29c3570901e1c145dce57824ddc9276fddf0d808

I tried to compile it with that header file but then I get another error:

In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2object.h:27,
                 from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2deviceprovider.c:33:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1025:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1025 |  struct v4l2_clip __user *next;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1032:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1032 |  struct v4l2_clip __user *clips;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1562:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1562 |   char __user *string;
      |               ^
In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2object.h:27,
                 from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2colorbalance.h:30,
                 from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2colorbalance.c:29:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1025:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1025 |  struct v4l2_clip __user *next;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1032:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1032 |  struct v4l2_clip __user *clips;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1562:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1562 |   char __user *string;
      |               ^
make: *** [Makefile:903: libgstvideo4linux2_la-gstv4l2deviceprovider.lo] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:896: libgstvideo4linux2_la-gstv4l2colorbalance.lo] Error 1
In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2.c:42:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1025:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1025 |  struct v4l2_clip __user *next;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1032:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1032 |  struct v4l2_clip __user *clips;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1562:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1562 |   char __user *string;
      |               ^
make: *** [Makefile:882: libgstvideo4linux2_la-gstv4l2.lo] Error 1
In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2allocator.c:28:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1025:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1025 |  struct v4l2_clip __user *next;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1032:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1032 |  struct v4l2_clip __user *clips;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1562:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1562 |   char __user *string;
      |               ^
make: *** [Makefile:889: libgstvideo4linux2_la-gstv4l2allocator.lo] Error 1
In file included from /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/gstv4l2object.c:37:
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1025:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1025 |  struct v4l2_clip __user *next;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1032:26: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1032 |  struct v4l2_clip __user *clips;
      |                          ^
/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/videodev2.h:1562:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
 1562 |   char __user *string;
      |               ^
make: *** [Makefile:910: libgstvideo4linux2_la-gstv4l2object.lo] Error 1
make: Leaving directory '/var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5-abi_x86_32.x86/sys/v4l2'
 * ERROR: media-plugins/gst-plugins-v4l2-1.14.5::gentoo failed (compile phase):
 *   emake failed
 *
Comment 11 jospezial 2019-09-03 23:12:45 UTC
(In reply to Martin Jansa from comment #10)
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/
> 29c3570901e1c145dce57824ddc9276fddf0d808.patch works for me on 1.14.5
> version.

works for me too. Thx.

So why did my downloaded file break the compilation?
Here is the diff between that and the patched one created by 
ebuild prepare

--- /home/joerg/Downloads/types-compat.h        2019-09-01 18:55:46.803476334 +0200
+++ /var/tmp/portage/media-plugins/gst-plugins-v4l2-1.14.5/work/gst-plugins-good-1.14.5/sys/v4l2/ext/types-compat.h     2019-09-04 00:57:25.203513728 +0200
@@ -56,4 +56,6 @@
 
 #endif
 
+#define __user
+
 #endif /* __TYPES_COMPAT_H__ */

There __user was removed:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/603c7a52fdbbff92bc97da85e59f7cae2bd66395
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-03 14:58:05 UTC
*** Bug 696126 has been marked as a duplicate of this bug. ***
Comment 13 Sergey Ilinykh 2019-11-16 21:12:50 UTC
the upsteram fix made the trick for 2.14.5 too
Comment 14 Thomas Capricelli 2019-11-26 22:08:48 UTC
i can confirm the bug with media-plugins/gst-plugins-v4l2-1.14.5
Comment 15 Larry the Git Cow gentoo-dev 2019-12-03 08:10:31 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4

commit fd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2019-12-03 08:10:03 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2019-12-03 08:10:09 +0000

    media-plugins/gst-plugins-v4l2: fix build against glibc-2.30
    
    Closes: https://bugs.gentoo.org/691882
    Package-Manager: Portage-2.3.79, Repoman-2.3.12
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 .../files/1.14.5-glibc-2.30-compat.patch           | 54 ++++++++++++++++++++++
 .../gst-plugins-v4l2-1.14.5.ebuild                 |  4 ++
 2 files changed, 58 insertions(+)