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 <[email protected]>, 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 [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

