Bug#831199: vlc: FTBFS with GCC 6: atomic:988:25: error: macro "atomic_compare_exchange_weak_explicit" passed 5 arguments, but takes just 4

Lucas Nussbaum lucas at debian.org
Thu Jul 14 07:29:45 UTC 2016


Source: vlc
Version: 2.2.4-2
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64

Hi,

During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg00007.html

Relevant part (hopefully):
> make[9]: Entering directory '/«PKGBUILDDIR»/modules/gui/qt4'
> ../../../doltlibtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../..  -DMODULE_STRING=\"$(p="libqt4_plugin_la-qt4.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p="${p%.lo}"; echo "$p")\" -D__PLUGIN__  -I../../../include -I../../../include -Wdate-time -D_FORTIFY_SOURCE=2  -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -DQT5_HAS_X11  -DHAVE_XI -g -O2 -fstack-protector-strong -Wformat -Werror=format-security  -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -fvisibility=hidden -O4 -ffast-math -funroll-loops -fomit-frame-pointer -c -o libqt4_plugin_la-qt4.lo `test -f 'qt4.cpp' || echo './'`qt4.cpp
> In file included from ../../../include/vlc_picture.h:35:0,
>                  from ../../../include/vlc_subpicture.h:34,
>                  from ../../../include/vlc_spu.h:29,
>                  from ../../../include/vlc_vout_osd.h:29,
>                  from ../../../include/vlc_input.h:39,
>                  from ../../../include/vlc_playlist.h:31,
>                  from qt4.hpp:34,
>                  from qt4.cpp:33:
> ../../../include/vlc_atomic.h:37:0: warning: "ATOMIC_FLAG_INIT" redefined
>  #  define ATOMIC_FLAG_INIT false
>  
> In file included from /usr/include/c++/6/atomic:41:0,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:38,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:44,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:39,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1110,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
>                  from qt4.cpp:29:
> /usr/include/c++/6/bits/atomic_base.h:157:0: note: this is the location of the previous definition
>  #define ATOMIC_FLAG_INIT { 0 }
>  
> In file included from ../../../include/vlc_picture.h:35:0,
>                  from ../../../include/vlc_subpicture.h:34,
>                  from ../../../include/vlc_spu.h:29,
>                  from ../../../include/vlc_vout_osd.h:29,
>                  from ../../../include/vlc_input.h:39,
>                  from ../../../include/vlc_playlist.h:31,
>                  from qt4.hpp:34,
>                  from qt4.cpp:33:
> ../../../include/vlc_atomic.h:39:0: warning: "ATOMIC_VAR_INIT" redefined
>  #  define ATOMIC_VAR_INIT(value) (value)
>  
> In file included from /usr/include/c++/6/atomic:41:0,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:38,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:44,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:39,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1110,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
>                  from qt4.cpp:29:
> /usr/include/c++/6/bits/atomic_base.h:123:0: note: this is the location of the previous definition
>  #define ATOMIC_VAR_INIT(_VI) { _VI }
>  
> ../../../doltlibtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../..  -DMODULE_STRING=\"$(p="libqt4_plugin_la-menus.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p="${p%.lo}"; echo "$p")\" -D__PLUGIN__  -I../../../include -I../../../include -Wdate-time -D_FORTIFY_SOURCE=2  -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtX11Extras -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -DQT5_HAS_X11  -DHAVE_XI -g -O2 -fstack-protector-strong -Wformat -Werror=format-security  -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -fvisibility=hidden -O4 -ffast-math -funroll-loops -fomit-frame-pointer -c -o libqt4_plugin_la-menus.lo `test -f 'menus.cpp' || echo './'`menus.cpp
> In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:38:0,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:44,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:39,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1110,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
>                  from qt4.hpp:37,
>                  from menus.hpp:28,
>                  from menus.cpp:42:
> /usr/include/c++/6/atomic:988:25: error: macro "atomic_compare_exchange_weak_explicit" passed 5 arguments, but takes just 4
>         memory_order __m2) noexcept
>                          ^
> /usr/include/c++/6/atomic:996:25: error: macro "atomic_compare_exchange_weak_explicit" passed 5 arguments, but takes just 4
>         memory_order __m2) noexcept
>                          ^
> /usr/include/c++/6/atomic:1004:27: error: macro "atomic_compare_exchange_strong_explicit" passed 5 arguments, but takes just 4
>           memory_order __m2) noexcept
>                            ^
> /usr/include/c++/6/atomic:1012:27: error: macro "atomic_compare_exchange_strong_explicit" passed 5 arguments, but takes just 4
>           memory_order __m2) noexcept
>                            ^
> /usr/include/c++/6/atomic:1053:30: error: macro "atomic_compare_exchange_weak_explicit" passed 5 arguments, but takes just 4
>           memory_order_seq_cst);
>                               ^
> /usr/include/c++/6/atomic:1063:30: error: macro "atomic_compare_exchange_weak_explicit" passed 5 arguments, but takes just 4
>           memory_order_seq_cst);
>                               ^
> /usr/include/c++/6/atomic:1073:32: error: macro "atomic_compare_exchange_strong_explicit" passed 5 arguments, but takes just 4
>             memory_order_seq_cst);
>                                 ^
> /usr/include/c++/6/atomic:1083:32: error: macro "atomic_compare_exchange_strong_explicit" passed 5 arguments, but takes just 4
>             memory_order_seq_cst);
>                                 ^
> In file included from /usr/include/c++/6/atomic:41:0,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:38,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:44,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:39,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1110,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
>                  from qt4.hpp:37,
>                  from menus.hpp:28,
>                  from menus.cpp:42:
> /usr/include/c++/6/bits/atomic_base.h: In function 'void std::__sync_synchronize()':
> /usr/include/c++/6/bits/atomic_base.h:102:27: error: '__m' was not declared in this scope
>    { __atomic_thread_fence(__m); }
>                            ^~~
> In file included from ../../../include/vlc_picture.h:35:0,
>                  from ../../../include/vlc_vout.h:34,
>                  from menus.cpp:39:
> /usr/include/c++/6/bits/atomic_base.h: At global scope:
> ../../../include/vlc_atomic.h:51:7: error: expected unqualified-id before 'void'
>      ((void)0)
>        ^
> ../../../include/vlc_atomic.h:51:7: error: expected ')' before 'void'
> ../../../include/vlc_atomic.h:51:7: error: expected ')' before 'void'
> ../../../include/vlc_atomic.h:45:7: error: expected unqualified-id before 'void'
>      ((void)0)
>        ^
> ../../../include/vlc_atomic.h:45:7: error: expected ')' before 'void'
> ../../../include/vlc_atomic.h:45:7: error: expected ')' before 'void'
> ../../../include/vlc_atomic.h:132:2: error: expected unqualified-id before '{' token
>  ({  \
>   ^
> ../../../include/vlc_atomic.h:132:2: error: expected ')' before '{' token
> ../../../include/vlc_atomic.h:139:2: error: expected unqualified-id before ')' token
>  })
>   ^
> ../../../include/vlc_atomic.h:132:2: error: expected unqualified-id before '{' token
>  ({  \
>   ^
> ../../../include/vlc_atomic.h:132:2: error: expected ')' before '{' token
> ../../../include/vlc_atomic.h:139:2: error: expected unqualified-id before ')' token
>  })
>   ^
> ../../../include/vlc_atomic.h:117:5: error: expected unqualified-id before 'do'
>      do { \
>      ^
> ../../../include/vlc_atomic.h:120:7: error: expected unqualified-id before 'while'
>      } while (0)
>        ^
> ../../../include/vlc_atomic.h:117:5: error: expected unqualified-id before 'do'
>      do { \
>      ^
> ../../../include/vlc_atomic.h:120:7: error: expected unqualified-id before 'while'
>      } while (0)
>        ^
> ../../../include/vlc_atomic.h:132:2: error: expected unqualified-id before '{' token
>  ({  \
>   ^
> ../../../include/vlc_atomic.h:132:2: error: expected ')' before '{' token
> ../../../include/vlc_atomic.h:139:2: error: expected unqualified-id before ')' token
>  })
>   ^
> In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:77:0,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:37,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41,
>                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
>                  from qt4.hpp:37,
>                  from menus.hpp:28,
>                  from menus.cpp:42:
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h:1142:49: error: expected '}' before end of line
>  #define QT_DO_PRAGMA(text)                      _Pragma(#text)
>                                                  ^
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h:1176:49: note: in expansion of macro 'QT_DO_PRAGMA'
>  #  define QT_WARNING_PUSH                       QT_DO_PRAGMA(GCC diagnostic push)
>                                                  ^~~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:43:1: note: in expansion of macro 'QT_WARNING_PUSH'
>  QT_WARNING_PUSH
>  ^~~~~~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h:1142:49: error: expected declaration before end of line
>  #define QT_DO_PRAGMA(text)                      _Pragma(#text)
>                                                  ^
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h:1176:49: note: in expansion of macro 'QT_DO_PRAGMA'
>  #  define QT_WARNING_PUSH                       QT_DO_PRAGMA(GCC diagnostic push)
>                                                  ^~~~~~~~~~~~
> /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:43:1: note: in expansion of macro 'QT_WARNING_PUSH'
>  QT_WARNING_PUSH
>  ^~~~~~~~~~~~~~~
> make[9]: *** [libqt4_plugin_la-menus.lo] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2016/07/13/vlc_2.2.4-2_unstable_gcc6.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the pkg-multimedia-maintainers mailing list