Huge Package Overhaul for Debian and Ubuntu
Debian and Ubuntu are moving to update all C++ packages with GCC5, which was released in April. GCC stands for Gnu Compiler Collection, and it is used to convert source code to executable code and libraries. These compilers are used to build everything from the Linux kernel to user applications, so it's a far-reaching change.
GCC5 has introduced more fundamental updates than previous versions, as it is the first version to fully support the latest version of C++. This new standard, released in 2011, contains numerous improvements to the previous standard, which dates back to 1998. It gives developers the tools they need to build more stable software rapidly, at all levels of the Linux ecosystem.
Bringing the C++ packages up to date is a major project requiring recompilation, as the new standard c++ library (libstdc++) has a different binary interface (the ABI, or Application Binary Interface). In many cases, changes must also be made to the source code to fit in line with the C++11 standard.
Upgrading the packages will ultimately lead to a more stable platform since GCC5 and the new standard C++ library bring a number of improvements beyond support for the new standard. The old ABI had experimental support for some C++11 features. The new version has complete support, but it is not backwardly compatible with the old ABI.
Interestingly, libstdc++ still supports the old ABI (C++98) when packages are compiled with a special macro. However, it makes sense to migrate to the new ABI now rather than later. The next version of the GCC will remove support for the C++98 ABI entirely, so it's essential to make the change long before GCC6 rolls off the production line.
Each package must be compiled on several different architectures so that they are available for all users. As is to be expected, a number of bugs are popping during this process, and they must be fixed. It's a time-consuming process, but the results will be far-reaching. A very large number of users have installed distros based on Debian or Ubuntu.
There are thousands of packages to update, and many of them have complex dependencies. The effort depends on contributions from the developer community, who are being asked to work on fundamental libraries and packages first. This is definitely a case of many hands making light work, so anyone with the required skills is encouraged to join in!
You can learn more at https://wiki.debian.org/GCC5 or by joining the relevant mailing lists (debian-devel-announce and ubuntu-devel).
Trending Topics
| Pandas | Aug 17, 2016 |
| Juniper Systems' Geode | Aug 16, 2016 |
| Analyzing Data | Aug 15, 2016 |
| SourceClear's Commit Watcher | Aug 12, 2016 |
| All about printf | Aug 11, 2016 |
| Blender for Visual Effects | Aug 10, 2016 |
Geek Guides
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.
Get the Guide



