Skip to content
This repository was archived by the owner on Oct 23, 2023. It is now read-only.
This repository was archived by the owner on Oct 23, 2023. It is now read-only.

Compilation fails with gcc version 9.1.1 20190503 on Fedora 30 #875

@zhoujd

Description

@zhoujd

$ ./autogen.sh --disable-silent-rules --prefix="/opt/media/install" --enable-tests --enable-debug --enable-h264enc --enable-jpegenc --enable-vp8enc --enable-vp9enc --enable-h265enc --enable-h264dec --enable-jpegdec --enable-vp8dec --enable-vp9dec --enable-h265dec --enable-mpeg2dec --enable-vc1dec --disable-fakedec --disable-oclfilters --enable-dmabuf --enable-md5 --disable-egl --disable-v4l2 --disable-wayland --enable-x11

h264Parser.cpp: In constructor 'YamiParser::H264::PPS::PPS()':
h264Parser.cpp:140:41: error: 'void* memset(void*, int, size_t)' clearing an object of type 'struct YamiParser::H264::PPS' with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess]
140 | memset(this, 0, offsetof(PPS, m_sps));
| ^
In file included from h264Parser.cpp:21:
h264Parser.h:292:8: note: 'struct YamiParser::H264::PPS' declared here
292 | struct PPS {
| ^~~
h264Parser.cpp: In constructor 'YamiParser::H264::SliceHeader::SliceHeader()':
h264Parser.cpp:686:49: error: 'void* memset(void*, int, size_t)' clearing an object of type 'class YamiParser::H264::SliceHeader' with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess]
686 | memset(this, 0, offsetof(SliceHeader, m_pps));
| ^
In file included from h264Parser.cpp:21:
h264Parser.h:371:7: note: 'class YamiParser::H264::SliceHeader' declared here
371 | class SliceHeader {
| ^~~~~~~~~~~
cc1plus: all warnings being treated as error

mpeg2_parser.cpp: In constructor 'YamiParser::MPEG2::SeqHeader::SeqHeader()':
mpeg2_parser.cpp:176:59: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct YamiParser::MPEG2::SeqHeader'; use assignment or value-initialization instead [-Werror=class-memaccess]
176 | SeqHeader::SeqHeader() { memset(this, 0, sizeof(*this)); }
| ^
In file included from mpeg2_parser.cpp:34:
mpeg2_parser.h:150:12: note: 'struct YamiParser::MPEG2::SeqHeader' declared here
150 | struct SeqHeader {
| ^~~~~~~~~
mv -f .deps/libyami_codecparser_la-vp8_bool_decoder.Tpo .deps/libyami_codecparser_la-vp8_bool_decoder.Plo
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:814: libyami_codecparser_la-mpeg2_parser.lo] Error 1
make[2]: Leaving directory '/opt/media/build/libyami/codecparsers'
make[1]: *** [Makefile:691: all-recursive] Error 1
make[1]: Leaving directory '/opt/media/build/libyami'
make: *** [Makefile:512: all] Error 2
err: "make -j 4" failed - exitcode 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions