Wednesday, 4 March 2015

Re: please fix build failures, including those introduced by GCC 5

Does GCC 5 do something to cause dpkg-gensymbols to break? For example,
I was checking the list to see if anything I deal with directly was
broken, and checked a few of the other failures for packages I depend
on, to see what to expect. In doing so, I ran across the
ubuntu-download-manager [1] failure. It seems to actually build just
fine, but the dpkg-gensymbols check is failing. It seems to no longer
export the operator() method on std::function definitions. For example:

- (c++)"std::function<void (Ubuntu::DownloadManager::Download*)>::operator()(Ubuntu::DownloadManager::Download*) [email protected]" 0.4+14.10.20140618
+#MISSING: 0.9+15.04.20141202-0ubuntu1# (c++)"std::function<void (Ubuntu::DownloadManager::Download*)>::operator()(Ubuntu::DownloadManager::Download*) [email protected]" 0.4+14.10.20140618

This is not mentioned in the porting guide that I can see though, and
removing these from the .symbols file will break building on gcc 4.x.
The porting guide only mentions converting std::nullptr_t to bool in C++
issues. What's the best way to deal with this if it comes up?

[1] https://launchpadlibrarian.net/198342635/buildlog_ubuntu-vivid-i386.ubuntu-download-manager_0.9%2B15.04.20141202-0ubuntu1_BUILDING.txt.gz


On Thu, 2015-03-05 at 00:12 +0100, Matthias Klose wrote:
> Hi,
>
> two test rebuilds for vivid are almost finished on all architectures (pending
> powerpc and arm64). It's time to address the build failures seen with these
> test rebuilds. The most important ones are listed in [1] for the vivid
> archives. These really have to be addressed.
>
> In preparation for the w-series (15.10), there was another test rebuild using
> GCC 5 (yes, GCC 5 will be the default for 15.10, without any possibility to fall
> back to older g++ and gfortran versions). Some outfall as usual [2]. I think
> the switch to GCC 5 will cause a bit more work than the switch to GCC 4.9 in
> utopic, so I would like to address as many issues as possible before the switch,
> even during the preparation of the 15.04 (vivid) release. Safe uploads to vivid
> would be appreciated. To check for buildability with GCC 5, add the
> ubuntu-toolchain-r/test PPA [3] to your apt sources. If you have time to kill,
> please fix these issues now. Make sure to forward fixes to the Debian bug
> tracker, bugs were filed for a Debian test rebuild as well [4]. Help for
> porting issues can be found in the GCC 5 porting notes [5] and an analysis of a
> test rebuild for another distro [6].
>
> If you can't, or if you don't want to do an upload, please make sure to file a
> launchpad issue, and tag it with 'ftbfs' and probably 'patch', then the issue
> will show up in [1] and [2].
>
> Help would be appreciated to fix issues in packages like boost so that we can
> get more reliable test rebuild results.
>
> Thanks, Matthias
>
> [1]
> http://people.ubuntuwire.org/~wgrant/rebuild-ftbfs-test/test-rebuild-20150202-vivid.html
> [2]
> http://people.ubuntuwire.org/~wgrant/rebuild-ftbfs-test/test-rebuild-20150202-gcc5-vivid.html
> [3] https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
> [4]
> https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-gcc-5;[email protected]
> [5] https://gcc.gnu.org/gcc-5/porting_to.html
> [6] https://lists.fedoraproject.org/pipermail/devel/2015-February/207549.html
>