← Back to team overview

hugin-devs team mailing list archive

[Bug 2089602] Re: C++17 errors

 

Thanks Thomas, so for the f40 build that works, the vigra package is
carrying a fix that I apparently added a few months ago (I only have a
vague memory of this, I'm the vigra maintainer for fedora):

104a105,107
> # fix c++17 failure
> sed -i 's/throw(PreconditionViolation)/noexcept(false)/' include/vigra/*.hxx
> 
166a170,172
> * Sun Feb 18 2024 Bruno Postle <bruno@xxxxxxxxxx> - 1.11.1-51
> - workaround for c++17 failure
> 

ie. I'm forcing noexcept(false) under all circumstances. The f41 build
that fails doesn't have this fix.

Your vigra has this in stdconvolution.hxx:

#if _MSC_VER >= 1900 || __cplusplus >= 201103L
            noexcept(false)
#else
            throw(PreconditionViolation)
#endif

..but vigra-1.11.1 here just has this:

#ifndef _MSC_VER
            throw(PreconditionViolation)
#elif _MSC_VER >= 1900 
            noexcept(false)
#endif

..are you using a modified version of vigra? Are there patches that I
should be adding to vigra-1.11.1?

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/2089602

Title:
  C++17 errors

Status in Hugin:
  New

Bug description:
  The current default branch fails on fedora 41 (default on fedora 40 is
  ok, and 2024.0.0 on fedora 41 is ok).

  In both cases, gcc, boost and cmake are the same: gcc-14.2.1,
  boost-1.83.0, cmake-3.30.5

  
  The error:

  
  ```
  [ 12%] Building CXX object src/hugin_base/CMakeFiles/huginbase.dir/algorithms/nona/NonaFileStitcher.cpp.o
  cd /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/redhat-linux-build/src/hugin_base && /usr/bin/g++ -DGLEW_STATIC -DHUGIN_HSI -Dhuginbase_EXPORTS -I/builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/redhat-linux-build/src -I/builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base -I/builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/celeste -I/builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/redhat-linux-build/src/celeste -I/builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src -I/usr/include/OpenEXR -I/usr/include/Imath -I/usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -O2 -g -DNDEBUG -std=gnu++17 -fPIC -fopenmp -MD -MT src/hugin_base/CMakeFiles/huginbase.dir/algorithms/nona/NonaFileStitcher.cpp.o -MF CMakeFiles/huginbase.dir/algorithms/nona/NonaFileStitcher.cpp.o.d -o CMakeFiles/huginbase.dir/algorithms/nona/NonaFileStitcher.cpp.o -c /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp
  In file included from /usr/include/vigra/resizeimage.hxx:45,
                   from /usr/include/vigra/stdimagefunctions.hxx:74,
                   from /usr/include/vigra/seededregiongrowing.hxx:44,
                   from /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base/vigra_ext/StitchWatershed.h:28,
                   from /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base/nona/Stitcher.h:47,
                   from /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp:33:
  /usr/include/vigra/separableconvolution.hxx:1413:13: error: ISO C++17 does not allow dynamic exception specifications
   1413 |             throw(PreconditionViolation)
        |             ^~~~~
  In file included from /usr/include/vigra/convolution.hxx:41,
                   from /builddir/build/BUILD/hugin-2024.1.0-build/hugin-2024.1.0/src/hugin_base/vigra_ext/StitchWatershed.h:29:
  /usr/include/vigra/stdconvolution.hxx:796:13: error: ISO C++17 does not allow dynamic exception specifications
    796 |             throw(PreconditionViolation)
        |             ^~~~~
  ```

  stdconvolution.hxx:796 looks like this:

  
  ```
  #ifndef _MSC_VER
              noexcept(false)
  #elif _MSC_VER >= 1900
              noexcept(false)
  #endif
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/2089602/+subscriptions



References