Skip to content
This repository has been 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

Open
zhoujd opened this issue May 14, 2019 · 4 comments
Open

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

zhoujd opened this issue May 14, 2019 · 4 comments

Comments

@zhoujd
Copy link

zhoujd commented May 14, 2019

$ ./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

@xuguangxin
Copy link
Contributor

@zhoujd , #876 will fix this.
thanks.

@seanvk
Copy link
Contributor

seanvk commented Aug 2, 2019

@xuguangxin Has this fix been added to a new release?

@xuguangxin
Copy link
Contributor

@seanvk , not yet. I can tag a release tomorrow.

Regards.

@xuguangxin
Copy link
Contributor

@seanvk please use 1.3.2 release. thanks

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants