1.8 fails to build with GCC 6

Issue #234 on hold
Sebastian Ramacher created an issue

Forwarding a bug report from Debian for x265 1.8 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811952):

This package fails to build with GCC 6. GCC 6 has not been released yet, but it's expected that GCC 6 will become the default compiler for stretch.

Note that only the first error is reported; there might be more. You can find a snapshot of GCC 6 in experimental. To build with GCC 6, you can set CC=gcc-6 CXX=g++-6 explicitly.

You may be able to find out more about this issue at https://gcc.gnu.org/gcc-6/changes.html

sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux ... [ 55%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o cd /<<PKGBUILDDIR>>/x265-10bit/common && /usr/bin/c++ -DEXPORT_C_API=0 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=1 -DX265_ARCH_X86=1 -DX265_DEPTH=10 -DX265_NS=x265_10bit -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-10bit -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -Wno-unused-parameter -msse4.1 -o CMakeFiles/common.dir/vec/dct-sse41.cpp.o -c /<<PKGBUILDDIR>>/source/common/vec/dct-sse41.cpp /<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp: In member function 'bool x265_10bit::RateControl::init(const x265_10bit::SPS&)': /<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:440:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("bitdepth", m_param->internalBitDepth); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:441:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("weightp", m_param->bEnableWeightedPred); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:442:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("bframes", m_param->bframes); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:443:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("b-pyramid", m_param->bBPyramid); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:444:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("open-gop", m_param->bOpenGOP); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:445:17: note: in expansion of macro 'CMP_OPT_FIRST_PASS' CMP_OPT_FIRST_PASS("keyint", m_param->keyframeMax); ^~~~~~

/<<PKGBUILDDIR>>/source/encoder/ratecontrol.cpp:52:28: error: unable to find string literal operator 'operator""opt' with 'const char [4]', 'long unsigned int' arguments char* q = strstr(opts, "no-"opt);\ ^

Comments (4)

  1. Deepthi Nandakumar

    The build system already makes it clear that we support only C++ 98.

    I've marked this as a to-do feature, and low priority. Anyone willing to work on it is most welcome though.

  2. Log in to comment