On 07/22/2015 06:37 PM, Jakub Wilk wrote:
> Hi Matthias!
>
> [Disclaimer: I'm not the maintainer, just a random bug onlooker.]
>
> * Matthias Klose , 2015-07-22, 13:34:
>> GCC PR libstdc++/66145 is a regression in GCC 5 which won't be fixed upstream
>> in time for the GCC defaults change.
>
> https://gcc.gnu.org/PR66145 is about catching std::ios_base::failure, but the
> bug subject says about changes in std::system_error. It wasn't clear to me
> what's the relation of these two classes. So apparently in C++11 (but not in
> C++98) std::ios_base::failure is a subclass of std::system_error.
>
> pdf2djvu tries to catch std::ios_base::failure in a few places. The version in
> the archive, which was built built with GCC 4.9, does it successfully (both
> with
> libstdc++6 5.1.1-14 and 5.2.1-11):
>
> $ pdf2djvu /usr/share/doc/quilt/quilt.pdf -o /cannot/write/here
> I/O error (basic_ios::clear)
>
> However, when you rebuild the package against g++-5_5.1.1-14, catching the
> exception no longer works:
>
> $ pdf2djvu /usr/share/doc/quilt/quilt.pdf -o /cannot/write/here
> terminate called after throwing an instance of 'std::ios_base::failure'
> what(): basic_ios::clear
> Aborted
>
>> The work around is to rebuild the affected packages after GCC 5 is the
>> default
>> compiler.
>
> AFAICS rebuilding doesn't help; it only makes things worse...
I forgot to make the corresponding change in libstdc++6, now fixed in 5.2.1-12.
This now should break the not rebuild pdf2djvu.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org