[bad] Compilation fails on GCC 8.0.1
@ullysses.a.eoff
Submitted by Ullysses A Eoff Link to original bug (#795766)
Description
gstreamer (master) heads/master-0-g98200ddd8dfd
gst-plugins-base (master) heads/master-0-gdbd9ff1cf510
gst-plugins-good (master) heads/master-0-gae1c2b0c
gst-plugins-bad (master) heads/master-0-ge1a90f1e
With GCC 8.0.1 (default on recent Fedora 28 release), gst-plugins-bad fails to compile:
In file included from /opt/media/install/include/gstreamer-1.0/gst/gst.h:90,
from gstopencvutils.h:29,
from gstopencvutils.cpp:26:
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'gdouble GDOUBLE_SWAP_LE_BE(gdouble)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:597:5: error: conflicting C language linkage declaration 'GDOUBLE_SWAP_LE_BE(gdouble)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'gfloat GST_READ_FLOAT_LE(const guint8*)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:700:5: error: conflicting C language linkage declaration 'GST_READ_FLOAT_LE(const guint8*)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'gfloat GST_READ_FLOAT_BE(const guint8*)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:721:5: error: conflicting C language linkage declaration 'GST_READ_FLOAT_BE(const guint8*)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'gdouble GST_READ_DOUBLE_LE(const guint8*)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:742:5: error: conflicting C language linkage declaration 'GST_READ_DOUBLE_LE(const guint8*)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'gdouble GST_READ_DOUBLE_BE(const guint8*)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:763:5: error: conflicting C language linkage declaration 'GST_READ_DOUBLE_BE(const guint8*)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'void GST_WRITE_FLOAT_LE(guint8*, gfloat)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:783:5: error: conflicting C language linkage declaration 'GST_WRITE_FLOAT_LE(guint8*, gfloat)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'void GST_WRITE_FLOAT_BE(guint8*, gfloat)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:803:5: error: conflicting C language linkage declaration 'GST_WRITE_FLOAT_BE(guint8*, gfloat)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'void GST_WRITE_DOUBLE_LE(guint8*, gdouble)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:823:5: error: conflicting C language linkage declaration 'GST_WRITE_DOUBLE_LE(guint8*, gdouble)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h: In function 'void GST_WRITE_DOUBLE_BE(guint8*, gdouble)':
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:843:5: error: conflicting C language linkage declaration 'GST_WRITE_DOUBLE_BE(guint8*, gdouble)::<unnamed union>
u' [-Werror]
} u;
^
/opt/media/install/include/gstreamer-1.0/gst/gstutils.h:575:5: note: previous declaration 'GFLOAT_SWAP_LE_BE(gfloat)::<unnamed union>
u'
} u;
^
cc1plus: all warnings being treated as errors
Can workaround with --disable-fatal-warnings.