[pkg-gnupg-maint] Bug#795175: FTBFS: /usr/include/c++/5/bits/basic_string.h:121:53: error: member 'QChar std::__cxx11::basic_string<QChar, std::char_traits<QChar>, secmem::alloc<QChar> >::<anonymous union>::_M_local_buf [8]' with constructor not allowed in union

Iain Lane iain at orangesquash.org.uk
Tue Aug 11 12:36:27 UTC 2015


Package: src:pinentry
Version: 0.9.5-3
Severity: serious
Tags: upstream patch

Hey,

0.9.5-3 FTBFS with new GCC:

  g++ -DHAVE_CONFIG_H -I. -I..  -pthread -I/usr/include/libsecret-1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include     -I.. -I../secmem -I/usr/include/ncursesw -I../pinentry -D_FORTIFY_SOURCE=2 -Wall -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore  -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/qt4/QtCore  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o pinentrydialog.o pinentrydialog.cpp
  In file included from /usr/include/c++/5/string:52:0,
                   from /usr/include/qt4/QtCore/qstring.h:54,
                   from /usr/include/qt4/QtCore/qobject.h:48,
                   from /usr/include/qt4/QtGui/qwidget.h:47,
                   from /usr/include/qt4/QtGui/qdialog.h:45,
                   from /usr/include/qt4/QtGui/QDialog:1,
                   from pinentrydialog.h:27,
                   from pinentrydialog.cpp:24:
  /usr/include/c++/5/bits/basic_string.h: In instantiation of 'union std::__cxx11::basic_string<QChar, std::char_traits<QChar>, secmem::alloc<QChar> >::<anonymous>':
  /usr/include/c++/5/bits/basic_string.h:119:7:   required from 'class std::__cxx11::basic_string<QChar, std::char_traits<QChar>, secmem::alloc<QChar> >'
  secstring.h:37:1:   required from here
  /usr/include/c++/5/bits/basic_string.h:121:53: error: member 'QChar std::__cxx11::basic_string<QChar, std::char_traits<QChar>, secmem::alloc<QChar> >::<anonymous union>::_M_local_buf [8]' with constructor not allowed in union
    _CharT           _M_local_buf[_S_local_capacity + 1];
                                                       ^
  /usr/include/c++/5/bits/basic_string.h:121:53: note: unrestricted unions only available with -std=c++11 or -std=gnu++11 

There's a patch upstream[0], and attached, to avoid using std::string.
I've just uploaded that to Ubuntu[1].

Cheers,

-- 
Iain Lane                                  [ iain at orangesquash.org.uk ]
Debian Developer                                   [ laney at debian.org ]
Ubuntu Developer                                   [ laney at ubuntu.com ]

[0] http://git.gnupg.org/cgi-bin/gitweb.cgi?p=pinentry.git;a=commitdiff;h=a4694dcda0fe27852be20db3017f9313adf361a3;hp=d70a106d71dbcaf90e2246ed8e72c14d9c2cf266
[1] https://launchpad.net/ubuntu/+source/pinentry/0.9.5-3ubuntu1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-qt4-Replace-the-custom-secure-entry-widget-with-the-.patch
Type: text/x-diff
Size: 145965 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20150811/6f167cd7/attachment-0001.patch>


More information about the pkg-gnupg-maint mailing list