[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#812002: smokeqt: FTBFS with GCC 6: deleted function



Control: tags -1 + patch

On Tue, 19 Jan 2016 20:25:00 -0800 Martin Michlmayr <tbm@hpe.com> wrote:
> Package: smokeqt
> Version: 4:4.14.3-1
> Severity: important
> User: debian-gcc@lists.debian.org
> Usertags: ftbfs-gcc-6
> 
> 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
> ...
> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtscript && /usr/bin/cmake -E cmake_link_script CMakeFiles/smokeqtscript.dir/link.txt --verbose=1
> > /usr/bin/c++  -fPIC -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-deprecated-declarations  -Wl,-z,relro -shared -Wl,-soname,libsmokeqtscript.so.3 -o libsmokeqtscript.so.3.0.0 CMakeFiles/smokeqtscript.dir/smokedata.cpp.o CMakeFiles/smokeqtscript.dir/x_1.cpp.o ../qtcore/libsmokeqtcore.so.3.0.0 -lQtCore -lQtScript -lsmokebase -Wl,-rpath,/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtcore: 
> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtscript && /usr/bin/cmake -E cmake_symlink_library libsmokeqtscript.so.3.0.0 libsmokeqtscript.so.3 libsmokeqtscript.so
> > make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> > [ 30%] Built target smokeqtscript
> > /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtdbus/x_1.cpp:1594:7: error: deleted function 'virtual __smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()'
> >  class x_QDBusConnectionInterface : public QDBusConnectionInterface {
> >        ^~~~~~~~~~~~~~~~~~~~~~~~~~
> > 
> > In file included from /usr/include/qt4/QtDBus/QtDBus:8:0,
> >                  from /<<PKGBUILDDIR>>/qtdbus/qtdbus_includes.h:2,
> >                  from /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtdbus/x_1.cpp:2:
> > /usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: error: overriding non-deleted function 'virtual QDBusConnectionInterface::~QDBusConnectionInterface()'
> >      ~QDBusConnectionInterface();
> >      ^
> > 
> > /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtdbus/x_1.cpp:1594:7: note: 'virtual __smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()' is implicitly deleted because the default definition would be ill-formed:
> >  class x_QDBusConnectionInterface : public QDBusConnectionInterface {
> >        ^~~~~~~~~~~~~~~~~~~~~~~~~~
> > 
> > /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtdbus/x_1.cpp:1594:7: error: 'virtual QDBusConnectionInterface::~QDBusConnectionInterface()' is private within this context
> > In file included from /usr/include/qt4/QtDBus/QtDBus:8:0,
> >                  from /<<PKGBUILDDIR>>/qtdbus/qtdbus_includes.h:2,
> >                  from /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtdbus/x_1.cpp:2:
> > /usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: note: declared private here
> >      ~QDBusConnectionInterface();
> >      ^
> > 
> > qtdbus/CMakeFiles/smokeqtdbus.dir/build.make:98: recipe for target 'qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.cpp.o' failed
> > make[3]: *** [qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.cpp.o] Error 1
> 
> ...
> 
> >                  from /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtgui/x_13.cpp:2:
> > /usr/include/qt4/QtGui/qsessionmanager.h:65:5: error: overriding non-deleted function 'virtual QSessionManager::~QSessionManager()'
> >      ~QSessionManager();
> >      ^
> > 
> > /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/qtgui/x_13.cpp:3572:7: note: 'virtual __smokeqtgui::x_QSessionManager::~x_QSessionManager()' is implicitly deleted because the default definition would be ill-formed:
> >  class x_QSessionManager : public QSessionManager {
> >        ^~~~~~~~~~~~~~~~~

This is caused by g++ defaulting to -std=c++11 in GCC 6.
An easy workaround is to add:
 export DEB_CXXFLAGS_MAINT_APPEND = -std=c++98
to debian/rules.

Thanks,

_g.

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: