Bug #78668 mysql-workbench can't be built by gcc with "-std=c++11"
Submitted: 1 Oct 2015 12:35 Modified: 26 Oct 2015 6:27
Reporter: Sergey Afonin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S4 (Feature request)
Version:6.3.4 OS:Linux (gcc 5.2.1, libsigc++ 2.6.0)
Assigned to: CPU Architecture:Any

[1 Oct 2015 12:35] Sergey Afonin
Description:
mysql-workbench can't be build by gcc with "-std=c++11". It is needed because libsigc++ version 2.5.1 and later require a C++11-compliant compiler:

http://libsigc.sourceforge.net/stable.shtml

The error:

mysql-workbench-community-6.3.4/library/forms/view.cpp:515:32: error: cannot convert 'boost::signals2::signal<bool()>::result_type {aka boost::optional<bool>}' to 'bool' in return
     return _signal_mouse_leave();
                                ^

How to repeat:
attempt to build with gcc 5.x with "-std=c++11" option.
[15 Oct 2015 10:15] Arek M
After that one it will fail again on:

[100%] Building CXX object library/forms/swig/CMakeFiles/_mforms.dir/mformsPYTHON_wrap.cxx.o
cd /home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/build/library/forms/swig && /usr/bin/x86_64-pld-linux-g++   -DHAVE_PRCTL_H -D__STDC_FORMAT_MACROS -D_mforms_EXPORTS -O2 -fwrapv -pipe -Wformat -Werror=format-security -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2 -Wp,-D_FORTIFY_SOURCE=2 -std=gnu++11 -fstack-protector-strong --param=ssp-buffer-size=4 -fPIC -march=x86-64 -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2  -DNDEBUG -DQT_NO_DEBUG -fPIC -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/plugins/migration/copytable -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/library/base -I/usr/include/gtk-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/giomm-2.4 -I/usr/lib64/giomm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/cairomm-1.0 -I/usr/lib64/cairomm-1.0/include -I/usr/include/pangomm-1.4 -I/usr/lib64/pangomm-1.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/library/forms/swig/. -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libxml2 -I/usr/include/python2.7 -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/library/grt/src -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/library/forms -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/generated -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/backend/wbpublic -I/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/ext/scintilla/include    -Wno-unused-but-set-variable -Wno-error -Wno-missing-field-initializers -Wno-parentheses -o CMakeFiles/_mforms.dir/mformsPYTHON_wrap.cxx.o -c /home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/build/library/forms/swig/mformsPYTHON_wrap.cxx
/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/build/library/forms/swig/mformsPYTHON_wrap.cxx: In function ‘bool mforms_TabView_call_tab_closing_callback(mforms::TabView*, int)’:
/home/users/arekm/rpm/BUILD/mysql-workbench-community-6.3.4-src/build/library/forms/swig/mformsPYTHON_wrap.cxx:5547:126: error: cannot convert ‘boost::signals2::signal<bool(int)>::result_type {aka boost::optional<bool>}’ to ‘bool’ in return
 SWIGINTERN bool mforms_TabView_call_tab_closing_callback(mforms::TabView *self,int i){ return (*self->signal_tab_closing())(i); }
[22 Oct 2015 12:23] Marcin Szalowicz
gcc5 -std=c++11 patch

Attachment: gcc5.patch (text/x-patch), 1.64 KiB.

[22 Oct 2015 12:23] Marcin Szalowicz
Hi Sergey, Arek
thank you for the bug report, 
please try the patch.
[23 Oct 2015 20:05] Dmitry Smirnov
Thanks, Marcin -- your patch fixed FTBFS on Debian. Nice. :
[25 Oct 2015 9:08] Sergey Afonin
I seems it works, thanks.

Regards, Sergey.

PS: btw: "forms/textbox.cpp" was already fixed in 6.3.4 tarball.
[26 Oct 2015 6:27] Sergey Afonin
I close this FR, thanks again.