Tom94 / tev

High dynamic range (HDR) image viewer for graphics people
BSD 3-Clause "New" or "Revised" License
1.02k stars 86 forks source link

`optional` header not included #151

Closed tastelessjolt closed 2 years ago

tastelessjolt commented 2 years ago

Hello, I'm trying to build tev tag v1.19 on Manjaro Linux. I come across the following error. It does fix the error and compiles correctly when I include optional header

In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ClipboardImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ClipboardImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional<T> tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
    8 | #include <deque>
  +++ |+#include <optional>
    9 | #include <mutex>
Whole compilation log
[  1%] Building CXX object dependencies/clip/CMakeFiles/clip.dir/clip.cpp.o
[  1%] Building CXX object dependencies/openexr/IlmBase/Half/CMakeFiles/Half.dir/half.cpp.o
[  1%] Building CXX object dependencies/clip/CMakeFiles/clip.dir/image.cpp.o
[  1%] Building CXX object dependencies/openexr/IlmBase/Iex/CMakeFiles/Iex.dir/IexBaseExc.cpp.o
[  1%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/context.c.o
[  1%] Building CXX object dependencies/openexr/IlmBase/Iex/CMakeFiles/Iex.dir/IexThrowErrnoExc.cpp.o
[  1%] Building CXX object dependencies/clip/CMakeFiles/clip.dir/clip_x11.cpp.o
[  1%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/input.c.o
[  1%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/monitor.c.o
[  3%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/init.c.o
[  3%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/window.c.o
[  5%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/vulkan.c.o
[  5%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/x11_init.c.o
[  5%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/x11_monitor.c.o
[  6%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/x11_window.c.o
[  6%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/xkb_unicode.c.o
[  6%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/posix_time.c.o
[  8%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/posix_thread.c.o
[  8%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/glx_context.c.o
[  8%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/egl_context.c.o
[  8%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/osmesa_context.c.o
[ 10%] Building C object dependencies/nanogui/ext/glfw/src/CMakeFiles/glfw_objects.dir/linux_joystick.c.o
/var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/openexr/IlmBase/Half/half.cpp: In static member function ‘static float half::overflow()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/openexr/IlmBase/Half/half.cpp:73:11: warning: compound assignment with ‘volatile’-qualified left operand is deprecated [-Wvolatile]
   73 |         f *= f;                         // this will overflow before
      |         ~~^~~~
[ 10%] Linking CXX static library libHalf-2_5.a
[ 10%] Built target Half
[ 10%] Built target glfw_objects
[ 10%] Running bin2c
[ 12%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/renderpass_gl.cpp.o
[ 12%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/shader_gl.cpp.o
[ 12%] Building C object dependencies/nanogui/CMakeFiles/nanogui.dir/ext/nanovg/src/nanovg.c.o
[ 12%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/texture_gl.cpp.o
[ 12%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/opengl.cpp.o
[ 13%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/nanogui_resources.cpp.o
[ 13%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/common.cpp.o
[ 13%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/theme.cpp.o
[ 13%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/widget.cpp.o
[ 15%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/layout.cpp.o
[ 15%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/screen.cpp.o
[ 15%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/label.cpp.o
[ 17%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/window.cpp.o
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/src/layout.cpp:14:
/var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/layout.h: In function ‘nanogui::AdvancedGridLayout::Anchor::operator std::string() const’:
/var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/layout.h:414:82: warning: ‘, ’ directive output may be truncated writing 2 bytes into a region of size between 0 and 10 [-Wformat-truncation=]
  414 |             std::snprintf(buf, 50, "Format[pos=(%i, %i), size=(%i, %i), align=(%i, %i)]",
      |                                                                                  ^~
/var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/layout.h:414:36: note: directive argument in the range [0, 255]
  414 |             std::snprintf(buf, 50, "Format[pos=(%i, %i), size=(%i, %i), align=(%i, %i)]",
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:866,
                 from /usr/include/c++/11.1.0/cstdio:42,
                 from /usr/include/c++/11.1.0/ext/string_conversions.h:43,
                 from /usr/include/c++/11.1.0/bits/basic_string.h:6594,
                 from /usr/include/c++/11.1.0/string:55,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/common.h:21,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/object.h:15,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/include/nanogui/layout.h:18,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/dependencies/nanogui/src/layout.cpp:14:
/usr/include/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 46 and 58 bytes into a destination of size 50
   71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
[ 17%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/popup.cpp.o
[ 17%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/checkbox.cpp.o
[ 17%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/button.cpp.o
[ 18%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/popupbutton.cpp.o
[ 20%] Linking CXX static library libIex-2_5.a
[ 20%] Linking CXX static library libclip.a
[ 20%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/combobox.cpp.o
[ 20%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/progressbar.cpp.o
[ 20%] Built target clip
[ 20%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/slider.cpp.o
[ 20%] Built target Iex
[ 20%] Building CXX object dependencies/openexr/IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFloatExc.cpp.o
[ 22%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/messagedialog.cpp.o
[ 22%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThread.cpp.o
[ 22%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/textbox.cpp.o
[ 22%] Building CXX object dependencies/openexr/IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFpu.cpp.o
[ 22%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/textarea.cpp.o
[ 24%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/imagepanel.cpp.o
[ 24%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/vscrollpanel.cpp.o
[ 24%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/colorwheel.cpp.o
[ 24%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/colorpicker.cpp.o
[ 25%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/graph.cpp.o
[ 25%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/tabwidget.cpp.o
[ 27%] Linking CXX static library libIexMath-2_5.a
[ 27%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/canvas.cpp.o
[ 27%] Built target IexMath
[ 27%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathRandom.cpp.o
[ 27%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadMutex.cpp.o
[ 29%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/texture.cpp.o
[ 31%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadMutexPosix.cpp.o
[ 31%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/shader.cpp.o
[ 31%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathColorAlgo.cpp.o
[ 31%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/imageview.cpp.o
[ 31%] Building CXX object dependencies/nanogui/CMakeFiles/nanogui.dir/src/traits.cpp.o
[ 31%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadPool.cpp.o
[ 31%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathFun.cpp.o
[ 31%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadPosix.cpp.o
[ 32%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathVec.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadSemaphore.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathMatrixAlgo.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/Imath/CMakeFiles/Imath.dir/ImathExc.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadSemaphorePosixCompat.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadSemaphorePosix.cpp.o
[ 34%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadSemaphoreOSX.cpp.o
[ 36%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadMutexWin32.cpp.o
[ 36%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadSemaphoreWin32.cpp.o
[ 36%] Building CXX object dependencies/openexr/IlmBase/IlmThread/CMakeFiles/IlmThread.dir/IlmThreadWin32.cpp.o
[ 37%] Linking CXX static library libIlmThread-2_5.a
[ 37%] Built target IlmThread
[ 39%] Linking CXX static library libImath-2_5.a
[ 39%] Built target Imath
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfAttribute.cpp.o
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfBoxAttribute.cpp.o
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfFrameBuffer.cpp.o
[ 43%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfChannelListAttribute.cpp.o
[ 44%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfHeader.cpp.o
[ 44%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfIO.cpp.o
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfCRgbaFile.cpp.o
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfChannelList.cpp.o
[ 41%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfFloatAttribute.cpp.o
[ 44%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfInputFile.cpp.o
[ 44%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfIntAttribute.cpp.o
[ 46%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfLineOrderAttribute.cpp.o
[ 46%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfMatrixAttribute.cpp.o
[ 46%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfOpaqueAttribute.cpp.o
[ 48%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfOutputFile.cpp.o
[ 48%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRgbaFile.cpp.o
[ 48%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfStringAttribute.cpp.o
[ 50%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfHuf.cpp.o
[ 50%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfVecAttribute.cpp.o
[ 50%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfThreading.cpp.o
[ 50%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfWav.cpp.o
[ 51%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfLut.cpp.o
[ 51%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfCompressor.cpp.o
[ 51%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRleCompressor.cpp.o
[ 51%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfZipCompressor.cpp.o
[ 53%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfPizCompressor.cpp.o
[ 53%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfB44Compressor.cpp.o
[ 53%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDwaCompressor.cpp.o
[ 53%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfMisc.cpp.o
[ 55%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfCompressionAttribute.cpp.o
[ 55%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDoubleAttribute.cpp.o
[ 55%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfConvert.cpp.o
[ 56%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfPreviewImage.cpp.o
[ 56%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfPreviewImageAttribute.cpp.o
[ 56%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfVersion.cpp.o
[ 56%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfChromaticities.cpp.o
[ 58%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfChromaticitiesAttribute.cpp.o
[ 58%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfKeyCode.cpp.o
[ 58%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfKeyCodeAttribute.cpp.o
[ 60%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTimeCode.cpp.o
[ 62%] Linking CXX static library libnanogui.a
[ 62%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTimeCodeAttribute.cpp.o
[ 62%] Built target nanogui
[ 62%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRational.cpp.o
[ 62%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRationalAttribute.cpp.o
[ 63%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfFramesPerSecond.cpp.o
[ 63%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfStandardAttributes.cpp.o
[ 63%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfStdIO.cpp.o
[ 63%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfEnvmap.cpp.o
[ 65%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfEnvmapAttribute.cpp.o
[ 65%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfScanLineInputFile.cpp.o
[ 65%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledInputFile.cpp.o
[ 67%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledMisc.cpp.o
[ 67%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledOutputFile.cpp.o
[ 67%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledRgbaFile.cpp.o
[ 67%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTileDescriptionAttribute.cpp.o
[ 68%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTileOffsets.cpp.o
[ 68%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRgbaYca.cpp.o
[ 68%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfPxr24Compressor.cpp.o
[ 70%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTestFile.cpp.o
[ 70%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfStringVectorAttribute.cpp.o
[ 70%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfMultiView.cpp.o
[ 70%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfAcesFile.cpp.o
[ 72%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfMultiPartOutputFile.cpp.o
[ 72%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfGenericOutputFile.cpp.o
[ 72%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfOutputPartData.cpp.o
[ 74%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfMultiPartInputFile.cpp.o
[ 74%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfGenericInputFile.cpp.o
[ 74%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfPartType.cpp.o
[ 74%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfInputPartData.cpp.o
[ 75%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfOutputPart.cpp.o
[ 75%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledOutputPart.cpp.o
[ 75%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfInputPart.cpp.o
[ 75%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfTiledInputPart.cpp.o
[ 77%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepScanLineInputPart.cpp.o
[ 77%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepScanLineOutputPart.cpp.o
[ 77%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepScanLineInputFile.cpp.o
[ 79%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepScanLineOutputFile.cpp.o
[ 79%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepTiledInputPart.cpp.o
[ 79%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepTiledOutputPart.cpp.o
[ 79%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepTiledInputFile.cpp.o
[ 81%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepTiledOutputFile.cpp.o
[ 81%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepFrameBuffer.cpp.o
[ 81%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepCompositing.cpp.o
[ 82%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfCompositeDeepScanLine.cpp.o
[ 82%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfDeepImageStateAttribute.cpp.o
[ 82%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfFastHuf.cpp.o
[ 82%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfFloatVectorAttribute.cpp.o
[ 84%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfRle.cpp.o
[ 84%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfSystemSpecific.cpp.o
[ 84%] Building CXX object dependencies/openexr/OpenEXR/IlmImf/CMakeFiles/IlmImf.dir/ImfZip.cpp.o
[ 86%] Linking CXX static library libIlmImf-2_5.a
[ 86%] Built target IlmImf
[ 86%] Building CXX object CMakeFiles/tev.dir/src/imageio/ClipboardImageLoader.cpp.o
[ 87%] Building CXX object CMakeFiles/tev.dir/src/imageio/ExrImageLoader.cpp.o
[ 87%] Building CXX object CMakeFiles/tev.dir/src/imageio/ExrImageSaver.cpp.o
[ 87%] Building CXX object CMakeFiles/tev.dir/src/imageio/ImageLoader.cpp.o
[ 86%] Building CXX object CMakeFiles/tev.dir/src/imageio/EmptyImageLoader.cpp.o
[ 87%] Building CXX object CMakeFiles/tev.dir/src/imageio/ImageSaver.cpp.o
[ 89%] Building CXX object CMakeFiles/tev.dir/src/imageio/PfmImageLoader.cpp.o
[ 89%] Building CXX object CMakeFiles/tev.dir/src/imageio/StbiHdrImageSaver.cpp.o
[ 89%] Building CXX object CMakeFiles/tev.dir/src/imageio/StbiImageLoader.cpp.o
[ 89%] Building CXX object CMakeFiles/tev.dir/src/imageio/StbiLdrImageSaver.cpp.o
[ 89%] Building CXX object CMakeFiles/tev.dir/src/Channel.cpp.o
[ 91%] Building CXX object CMakeFiles/tev.dir/src/Box.cpp.o
[ 91%] Building CXX object CMakeFiles/tev.dir/src/Common.cpp.o
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ClipboardImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ClipboardImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/PfmImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/PfmImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/EmptyImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/EmptyImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ClipboardImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ClipboardImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/PfmImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/PfmImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/EmptyImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/EmptyImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ExrImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ExrImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ClipboardImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ExrImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ExrImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
[ 93%] Building CXX object CMakeFiles/tev.dir/src/FalseColor.cpp.o
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/ClipboardImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/ImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
[ 93%] Building CXX object CMakeFiles/tev.dir/src/HelpWindow.cpp.o
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:8,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/StbiImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/StbiImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:46:10: error: ‘optional’ in namespace ‘std’ does not name a template type
   46 |     std::optional tryPop() {
      |          ^~~~~~~~
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/SharedQueue.h:9:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’?
    8 | #include 
  +++ |+#include 
    9 | #include 
In file included from /var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/imageio/StbiImageLoader.h:6,
                 from /var/tmp/pamac-build-harshithg/tev/src/tev/src/imageio/StbiImageLoader.cpp:4:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h: In member function ‘std::optional tev::BackgroundImagesLoader::tryPop()’:
/var/tmp/pamac-build-harshithg/tev/src/tev/include/tev/Image.h:234:66: error: ‘class tev::SharedQueue’ has no member named ‘tryPop’
  234 |     std::optional tryPop() { return mLoadedImages.tryPop(); }
      |                                                                  ^~~~~~
make[2]: *** [CMakeFiles/tev.dir/build.make:76: CMakeFiles/tev.dir/src/imageio/ClipboardImageLoader.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/tev.dir/build.make:160: CMakeFiles/tev.dir/src/imageio/PfmImageLoader.cpp.o] Error 1
make[2]: *** [CMakeFiles/tev.dir/build.make:90: CMakeFiles/tev.dir/src/imageio/EmptyImageLoader.cpp.o] Error 1
make[2]: *** [CMakeFiles/tev.dir/build.make:132: CMakeFiles/tev.dir/src/imageio/ImageLoader.cpp.o] Error 1
make[2]: *** [CMakeFiles/tev.dir/build.make:104: CMakeFiles/tev.dir/src/imageio/ExrImageLoader.cpp.o] Error 1
make[2]: *** [CMakeFiles/tev.dir/build.make:188: CMakeFiles/tev.dir/src/imageio/StbiImageLoader.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:694: CMakeFiles/tev.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Tom94 commented 2 years ago

Thanks a bunch for letting me know, fixed at https://github.com/Tom94/tev/pull/134!

I wonder how this slipped through Ubuntu CI and, more importantly, how to request the compiler to help in finding missing includes that just happen to get pulled in otherwise by chance. Gonna dig a bit. :)