Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 May 2023 15:13:40 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271493] graphics/freeimage: fix build with clang 16
Message-ID:  <bug-271493-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271493

            Bug ID: 271493
           Summary: graphics/freeimage: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: eduardo@FreeBSD.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(eduardo@FreeBSD.org)
          Assignee: eduardo@FreeBSD.org

Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because graphics/freeimage's Makefile does not explicitly set its C++
standard, this leads to several errors:

  In file included from Source/FreeImage/PluginEXR.cpp:33:
  In file included from Source/FreeImage/../OpenEXR/IlmImf/ImfOutputFile.h:=
46:
  In file included from Source/OpenEXR/IlmImf/ImfHeader.h:51:
  Source/OpenEXR/Imath/ImathVec.h:228:34: error: ISO C++17 does not allow
dynamic exception specifications [-Wdynamic-exception-spec]
      const Vec2 &        normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Source/OpenEXR/Imath/ImathVec.h:228:34: note: use 'noexcept(false)' inste=
ad
      const Vec2 &        normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                          noexcept(false)
  Source/OpenEXR/Imath/ImathVec.h:232:37: error: ISO C++17 does not allow
dynamic exception specifications [-Wdynamic-exception-spec]
      Vec2<T>             normalizedExc () const throw
(IEX_NAMESPACE::MathExc);
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~=
~~~~
  Source/OpenEXR/Imath/ImathVec.h:232:37: note: use 'noexcept(false)' inste=
ad
      Vec2<T>             normalizedExc () const throw
(IEX_NAMESPACE::MathExc);
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~=
~~~~
                                                 noexcept(false)

Because these constructs are no longer available in C++17, add
USE_CXXSTD=3Dgnu++14 to compile for C++14 with GNU extensions instead.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271493-7788>