GNOME Bugzilla – Bug 784453
openexr: does not compile with gcc 7.X
Last modified: 2017-07-03 05:57:03 UTC
Also on debian (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853589) Below what happens on opensuse tumbleweed: gcc --version gcc (SUSE Linux) 7.1.1 20170530 [gcc-7-branch revision 248621] Information for package openexr: -------------------------------- Repository : openSUSE:Factory Name : openexr Version : 2.2.0-1.9 Arch : x86_64 Vendor : openSUSE Installed Size : 1.4 MiB Installed : Yes Status : up-to-date Source package : openexr-2.2.0-1.9.src make[3]: Verzeichnis „/home/ensonic/projects/gstreamer/gst-plugins-bad/ext/openexr“ wird betreten CXX libgstopenexr_la-gstopenexrdec.lo In file included from /usr/include/OpenEXR/ImfHeader.h:51:0, from /usr/include/OpenEXR/ImfRgbaFile.h:50, from gstopenexrdec.cpp:30: /usr/include/OpenEXR/ImathVec.h:228:34: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:232:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:440:34: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] const Vec3 & normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:444:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:622:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] const Vec4 & normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:626:44: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:714:30: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:723:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:738:28: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:747:35: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:762:30: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:771:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:786:28: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:795:35: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:809:30: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:818:37: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:833:28: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:842:35: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); ^~~~~ /usr/include/OpenEXR/ImathVec.h:1212:26: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) ^~~~~ /usr/include/OpenEXR/ImathVec.h:1249:33: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec2<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) ^~~~~ /usr/include/OpenEXR/ImathVec.h:1704:26: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) ^~~~~ /usr/include/OpenEXR/ImathVec.h:1743:33: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec3<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) ^~~~~ /usr/include/OpenEXR/ImathVec.h:2109:26: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) ^~~~~ /usr/include/OpenEXR/ImathVec.h:2150:33: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated] Vec4<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) ^~~~~ cc1plus: all warnings being treated as errors
Workaround: make CXXFLAGS=-Wno-error
This is a bug in the OpenEXR headers, not on our side.