После обновления до 2.6.0 перестал собираться mysql-workbench-community-6.3.4. Пакета в Сизифе нет ещё, как раз обновление готовил. Сначала несколько предупреждений, а-ля /usr/include/sigc++-2.0/sigc++/functors/functor_trait.h:92:3: warning: identifier 'decltype' is a keyword in C++11 [-Wc++0x-compat] static int check(X_functor* obj, decltype(&X_functor::operator()) p = nullptr); потом появляются, уже ошибки, в других библиотеках, например: /usr/include/glibmm-2.4/glibmm/ustring.h:267:12: error: expected ';' at end of member declaration ~ustring() noexcept; Там же пишется, что можно использовать для компилятора опцию "-std=gnu++11", но она, вроде как, экспериментальная ? http://git.altlinux.org/people/asy/packages/mysql-workbench-community.git, лог в задании 150542.
Хм, вот оно как ( http://libsigc.sourceforge.net/stable.shtml ): libsigc++ version 2.5.1 and later require a C++11-compliant compiler. Наверное, тогда, не баг, как таковой, но что-то с чем-то делать надо.
С -std=gnu++11 не собирается сам mysql-workbench: /usr/src/RPM/BUILD/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(); ^ make[2]: *** [library/forms/CMakeFiles/mforms.dir/view.cpp.o] Error 1
Пока повесил http://bugs.mysql.com/78668
Так что делать-то предлагается, если не патчить код до соответствия gnu++11 или c++11 ? По идее, надо сделать libsigc++2.4 без Provides/Obsoletes libsigc++2.0.
Кстати, а то, что смена API не повлекла за собой смены soname, это нормальная практика ?
(In reply to comment #4) > По идее, надо сделать libsigc++2.4 Что-то я не подумал о том, что libsigc++ в зависимостях не у mysql-workbench, а у libgtkmm2. Это надо будет весь набор библиотек пересобирать, а сам по себе пакет libsigc++2.4 ситуацию не исправит для отдельно взятого пакета.
Из отсутствия реакции делаю вывод, что спасение утопающих - дело рук самих утопающих. Непересобираемое из-за -std=gnu++11/-std=c++11 чинить придётся мантейнерам "попавших" пакетов.