Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 617262

Summary: app-text/podofo-0.9.6_pre20170428 : /.../PdfError.h:164:92: error: throw will always call terminate() [-Werror=terminate]
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Zac Medico <zmedico>
Status: CONFIRMED ---    
Severity: normal CC: g2boojum, phobosk
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge-info.txt
app-text:podofo-0.9.6_pre20170428:20170501-222543.log
emerge-history.txt
environment
etc.portage.tbz2
temp.tbz2

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 );
}