On 06/29/2015 02:54 PM, Murray Cumming wrote: > On Mon, 2015-06-29 at 14:53 +0200, Murray Cumming wrote: >> On Mon, 2015-06-29 at 14:43 +0200, Kalev Lember wrote: >>> On 06/29/2015 02:27 PM, Murray Cumming wrote: >>>> On Mon, 2015-06-29 at 12:03 +0200, Kalev Lember wrote: >>>>> All of Fedora 23 (scheduled for release this October / November) is >>>>> built with the new C++11 ABI. >>>> >>>> Interesting. Thanks. Is there some official Fedora page about that? >>> >>> http://developerblog.redhat.com/2015/02/10/gcc-5-in-fedora/ has all the >>> details - this is probably the most up to date page we have right now. >>> >>> The short summary is that both Fedora 22 and Fedora 23 ship GCC 5 as the >>> system compiler, but with different defaults: in Fedora 22 all the >>> packages are built with the older C++ ABI, whereas all of Fedora 23 is >>> built with the new C++11 ABI. >> >> This means that any apps must be rebuilt in Fedora 23, right? For >> instance, if someone has an app that they have packaged themselves under >> Fedora 21, they can expect that app to not run under Fedora 23 unless >> they rebuild it? So it's an ABI break. > (Assuming that the app uses a C++ library such as boost or gtkmm.) >
Yes, that's right. It's probably not strictly true for _all_ applications because libstdc++ itself supports both the older and newer ABI, so apps that only use the standard library should continue working fine: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html Any other libraries, such as gtkmm that include std::list or std::string in their public interface have changed ABI in Fedora 23 though, and apps that use these libraries would have to be rebuilt. Everything in the standard Fedora repositories has already been rebuilt for Fedora 23, so the ABI change should be mostly transparent to users - with the exception of 3rd party applications that would have to be rebuilt as well. -- Kalev _______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
