Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 617262 - app-text/podofo-0.9.6_pre20170428 : /.../PdfError.h:164:92: error: throw will always call terminate() [-Werror=terminate]
Summary: app-text/podofo-0.9.6_pre20170428 : /.../PdfError.h:164:92: error: throw will...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Zac Medico
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-02 17:09 UTC by Toralf Förster
Modified: 2017-06-02 19:06 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,5.55 KB, text/plain)
2017-05-02 17:09 UTC, Toralf Förster
Details
app-text:podofo-0.9.6_pre20170428:20170501-222543.log (app-text:podofo-0.9.6_pre20170428:20170501-222543.log,84.81 KB, text/plain)
2017-05-02 17:09 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,380.29 KB, text/plain)
2017-05-02 17:09 UTC, Toralf Förster
Details
environment (environment,122.15 KB, text/plain)
2017-05-02 17:09 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,24.18 KB, application/x-bzip)
2017-05-02 17:09 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,33.02 KB, application/x-bzip)
2017-05-02 17:09 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2017-05-02 17:09:18 UTC
                 from /var/tmp/portage/app-text/podofo-0.9.6_pre20170428/work/podofo-0.9.6_pre20170428/src/doc/PdfPainter.cpp:42:
/var/tmp/portage/app-text/podofo-0.9.6_pre20170428/work/podofo-0.9.6_pre20170428/src/doc/PdfPainter.cpp: In destructor ‘virtual PoDoFo::PdfPainter::~PdfPainter()’:
/var/tmp/portage/app-text/podofo-0.9.6_pre20170428/work/podofo-0.9.6_pre20170428/podofo/base/../../src/base/PdfError.h:164:92: error: throw will always call terminate() [-Werror=terminate]
 _RAISE_ERROR_INFO( x, y ) throw ::PoDoFo::PdfError( x, __FILE__, __LINE__, y );
                                                                              ^
/var/tmp/portage/app-text/podofo-0.9.6_pre20170428/work/podofo-0.9.6_pre20170428/podofo/base/../../src/base/PdfDefines.h:128:43: note: in expansion of macro ‘PODOFO_RAISE_ERROR_INFO’

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 13.0-libressl_20170422-091839

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-5.4.0
 [2] x86_64-pc-linux-gnu-6.3.0 *

Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python3.6 (fallback)
  [3]   python2.7 (fallback)

java-config:
The following VMs are available for generation-2:
Comment 1 Toralf Förster gentoo-dev 2017-05-02 17:09:21 UTC
Created attachment 471502 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2017-05-02 17:09:24 UTC
Created attachment 471504 [details]
app-text:podofo-0.9.6_pre20170428:20170501-222543.log
Comment 3 Toralf Förster gentoo-dev 2017-05-02 17:09:27 UTC
Created attachment 471506 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2017-05-02 17:09:30 UTC
Created attachment 471508 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2017-05-02 17:09:33 UTC
Created attachment 471510 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2017-05-02 17:09:37 UTC
Created attachment 471512 [details]
temp.tbz2
Comment 7 Zac Medico gentoo-dev 2017-05-11 06:39:05 UTC
The comments in the relevant code seem to indicate the it is intended to terminate/abort, so maybe the best that can be done is to suppress the compiler warning somehow:

https://sourceforge.net/p/podofo/code/1849/tree/podofo/trunk/src/doc/PdfPainter.cpp#l137

PdfPainter::~PdfPainter()
{
	// Throwing exceptions in C++ destructors is not allowed.
	// Just log the error.
    // PODOFO_RAISE_LOGIC_IF( m_pCanvas, "FinishPage() has to be called after a page is completed!" );
    // Note that we can't do this for the user, since FinishPage() might
    // throw and we can't safely have that in a dtor. That also means
    // we can't throw here, but must abort.
    if( m_pCanvas )
        PdfError::LogMessage( eLogSeverity_Error, 
                              "PdfPainter::~PdfPainter(): FinishPage() has to be called after a page is completed!" );

    PODOFO_ASSERT( !m_pCanvas );
}