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

Bug 786189

Summary: sys-process/incron fails to build with gcc-11: error: ISO C++17 does not allow dynamic exception specifications
Product: Gentoo Linux Reporter: Thomas Deutschmann (RETIRED) <whissi>
Component: Current packagesAssignee: Thomas Deutschmann (RETIRED) <whissi>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/ar-/incron/commit/a97417b043e14e219d2398e7c44a28501bb8f1e4
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 732706    

Description Thomas Deutschmann (RETIRED) gentoo-dev 2021-04-28 00:13:19 UTC
> >>> Source configured.
> >>> Compiling source in /var/tmp/portage/sys-process/incron-0.5.12_p20191114-r1/work/incron-1eedfbc9b318372efd119fd17f4abdbde561a53d ...
> make -j1 CXX=x86_64-pc-linux-gnu-g++
> x86_64-pc-linux-gnu-g++ -c  -O2 -pipe -march=znver2 -mno-clzero -mno-mwaitx -mno-wbnoinvd -frecord-gcc-switches -Wall -W -Wshadow -Wpointer-arith -Wwrite-strings -ffor-scope -o icd-main.o icd-main.cpp
> x86_64-pc-linux-gnu-g++: warning: switch ‘-ffor-scope’ is no longer supported
> In file included from icd-main.cpp:35:
> inotify-cxx.h:446:32: error: ISO C++17 does not allow dynamic exception specifications
>   446 |   void SetMask(uint32_t uMask) throw (InotifyException);
>       |                                ^~~~~
> inotify-cxx.h:469:34: error: ISO C++17 does not allow dynamic exception specifications
>   469 |   void SetEnabled(bool fEnabled) throw (InotifyException);
>       |                                  ^~~~~
> inotify-cxx.h:540:13: error: ISO C++17 does not allow dynamic exception specifications
>   540 |   Inotify() throw (InotifyException);
>       |             ^~~~~
> inotify-cxx.h:557:34: error: ISO C++17 does not allow dynamic exception specifications
>   557 |   void Add(InotifyWatch* pWatch) throw (InotifyException);
>       |                                  ^~~~~
> inotify-cxx.h:565:41: error: ISO C++17 does not allow dynamic exception specifications
>   565 |   inline void Add(InotifyWatch& rWatch) throw (InotifyException)
>       |                                         ^~~~~
> inotify-cxx.h:578:37: error: ISO C++17 does not allow dynamic exception specifications
>   578 |   void Remove(InotifyWatch* pWatch) throw (InotifyException);
>       |                                     ^~~~~
> inotify-cxx.h:588:44: error: ISO C++17 does not allow dynamic exception specifications
>   588 |   inline void Remove(InotifyWatch& rWatch) throw (InotifyException)
>       |                                            ^~~~~
> inotify-cxx.h:639:44: error: ISO C++17 does not allow dynamic exception specifications
>   639 |   void WaitForEvents(bool fNoIntr = false) throw (InotifyException);
>       |                                            ^~~~~
> inotify-cxx.h:665:37: error: ISO C++17 does not allow dynamic exception specifications
>   665 |   bool GetEvent(InotifyEvent* pEvt) throw (InotifyException);
>       |                                     ^~~~~
> inotify-cxx.h:675:37: error: ISO C++17 does not allow dynamic exception specifications
>   675 |   bool GetEvent(InotifyEvent& rEvt) throw (InotifyException)
>       |                                     ^~~~~
> inotify-cxx.h:689:38: error: ISO C++17 does not allow dynamic exception specifications
>   689 |   bool PeekEvent(InotifyEvent* pEvt) throw (InotifyException);
>       |                                      ^~~~~
> inotify-cxx.h:699:38: error: ISO C++17 does not allow dynamic exception specifications
>   699 |   bool PeekEvent(InotifyEvent& rEvt) throw (InotifyException)
>       |                                      ^~~~~
> inotify-cxx.h:754:36: error: ISO C++17 does not allow dynamic exception specifications
>   754 |   void SetNonBlock(bool fNonBlock) throw (InotifyException);
>       |                                    ^~~~~
> inotify-cxx.h:770:37: error: ISO C++17 does not allow dynamic exception specifications
>   770 |   void SetCloseOnExec(bool fClOnEx) throw (InotifyException);
>       |                                     ^~~~~
> inotify-cxx.h:778:58: error: ISO C++17 does not allow dynamic exception specifications
>   778 |   static uint32_t GetCapability(InotifyCapability_t cap) throw (InotifyException);
>       |                                                          ^~~~~
> inotify-cxx.h:789:68: error: ISO C++17 does not allow dynamic exception specifications
>   789 |   static void SetCapability(InotifyCapability_t cap, uint32_t val) throw (InotifyException);
>       |                                                                    ^~~~~
> inotify-cxx.h:796:41: error: ISO C++17 does not allow dynamic exception specifications
>   796 |   inline static uint32_t GetMaxEvents() throw (InotifyException)
>       |                                         ^~~~~
> inotify-cxx.h:810:49: error: ISO C++17 does not allow dynamic exception specifications
>   810 |   inline static void SetMaxEvents(uint32_t val) throw (InotifyException)
>       |                                                 ^~~~~
> inotify-cxx.h:823:44: error: ISO C++17 does not allow dynamic exception specifications
>   823 |   inline static uint32_t GetMaxInstances() throw (InotifyException)
>       |                                            ^~~~~
> inotify-cxx.h:837:52: error: ISO C++17 does not allow dynamic exception specifications
>   837 |   inline static void SetMaxInstances(uint32_t val) throw (InotifyException)
>       |                                                    ^~~~~
> inotify-cxx.h:850:42: error: ISO C++17 does not allow dynamic exception specifications
>   850 |   inline static uint32_t GetMaxWatches() throw (InotifyException)
>       |                                          ^~~~~
> inotify-cxx.h:864:50: error: ISO C++17 does not allow dynamic exception specifications
>   864 |   inline static void SetMaxWatches(uint32_t val) throw (InotifyException)
>       |                                                  ^~~~~
> inotify-cxx.h:880:65: error: ISO C++17 does not allow dynamic exception specifications
>   880 |   static std::string GetCapabilityPath(InotifyCapability_t cap) throw (InotifyException);
>       |                                                                 ^~~~~
> icd-main.cpp:132:40: error: ISO C++17 does not allow dynamic exception specifications
>   132 | void load_tables(EventDispatcher* pEd) throw (InotifyException)
>       |                                        ^~~~~
> make: *** [Makefile:43: icd-main.o] Error 1
>  * ERROR: sys-process/incron-0.5.12_p20191114-r1::gentoo failed (compile phase):
>  *   emake failed
Comment 1 Larry the Git Cow gentoo-dev 2021-04-28 00:15:25 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=154f5f968ba31121c46fcfe9cf9638ca0e4b3e08

commit 154f5f968ba31121c46fcfe9cf9638ca0e4b3e08
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2021-04-28 00:14:52 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2021-04-28 00:15:09 +0000

    sys-process/incron: force C++14
    
    Closes: https://bugs.gentoo.org/786189
    Package-Manager: Portage-3.0.18, Repoman-3.0.3
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 sys-process/incron/incron-0.5.12_p20191114-r1.ebuild | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)