Skip to content

Fix a compilation error

Rafał Siejakowski requested to merge S-Rafael/inkscape:fix-compilation into master

This MR fixes the following build error:

[8/221] Building CXX object src/CMakeFiles/inkscape_base.dir/ui/widget/canvas.cpp.o
FAILED: src/CMakeFiles/inkscape_base.dir/ui/widget/canvas.cpp.o 
/usr/bin/ccache /usr/bin/g++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DHAVE_CONFIG_H -DWITH_CSSBLEND -DWITH_MESH -DWITH_SVG2 -Dinkscape_base_EXPORTS -Iinkscape/build/src -Iinkscape/src -Iinkscape -Iinkscape/build/include -Iinkscape/src/3rdparty/adaptagrams -I/usr/include/lzo -I/usr/include/sysprof-4 -Iinkscape/src/3rdparty/2geom/include -Iinkscape/src/3rdparty/2geom/include/2geom -isystem /usr/include/pango-1.0 -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/include/libpng16 -isystem /usr/include/pixman-1 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/sysprof-6 -isystem /usr/include/fribidi -isystem poppler/build/install/include/poppler -isystem poppler/build/install/include/poppler/glib -isystem /usr/include/libwpg-0.3 -isystem /usr/include/librevenge-0.0 -isystem /usr/include/libwpd-0.10 -isystem /usr/include/libvisio-0.1 -isystem /usr/include/libxml2 -isystem /usr/include/libcdr-0.1 -isystem /usr/include/pangomm-2.48 -isystem /usr/lib/pangomm-2.48/include -isystem /usr/include/giomm-2.68 -isystem /usr/lib/giomm-2.68/include -isystem /usr/include/glibmm-2.68 -isystem /usr/lib/glibmm-2.68/include -isystem /usr/include/sigc++-3.0 -isystem /usr/lib/sigc++-3.0/include -isystem /usr/include/cairomm-1.16 -isystem /usr/lib/cairomm-1.16/include -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/graphene-1.0 -isystem /usr/lib/graphene-1.0/include -isystem /usr/include/gtkmm-4.0 -isystem /usr/lib/gtkmm-4.0/include -isystem /usr/include/gtk-4.0/unix-print -isystem /usr/include/gtk-4.0 -isystem /usr/include/gtksourceview-5 -isystem /usr/include/GraphicsMagick -fuse-ld=mold -fsanitize=address -fno-omit-frame-pointer -fstack-protector-strong -Werror=format -Werror=format-security -Werror=ignored-qualifiers -Werror=return-type -Wno-switch -Wmisleading-indentation -Wstrict-null-sentinel -mfpmath=sse -msse -msse2 -pthread -mfpmath=sse -msse -msse2 -pthread -D_GNU_SOURCE -fopenmp -DSIGCXX_DISABLE_DEPRECATED -g -O0 -Og -Wcomment -Wunused-function -Wunused-variable -D_GLIBCXX_ASSERTIONS -fexceptions -grecord-gcc-switches -fasynchronous-unwind-tables -std=gnu++20 -fPIC -fdiagnostics-color=always   -pthread -fPIC -fdiagnostics-color -MD -MT src/CMakeFiles/inkscape_base.dir/ui/widget/canvas.cpp.o -MF src/CMakeFiles/inkscape_base.dir/ui/widget/canvas.cpp.o.d -o src/CMakeFiles/inkscape_base.dir/ui/widget/canvas.cpp.o -c inkscape/src/ui/widget/canvas.cpp
In file included from inkscape/src/3rdparty/2geom/include/2geom/int-interval.h:35,
                 from inkscape/src/3rdparty/2geom/include/2geom/int-rect.h:35,
                 from inkscape/src/ui/widget/canvas.h:20,
                 from inkscape/src/ui/widget/canvas.cpp:15:
inkscape/src/3rdparty/2geom/include/2geom/generic-interval.h: In member function ‘constexpr C Geom::GenericInterval< <template-parameter-1-1> >::clamp(C) const’:
inkscape/src/3rdparty/2geom/include/2geom/generic-interval.h:104:21: error: ‘clamp’ is not a member of ‘std’
  104 |         return std::clamp(val, min(), max());
      |                     ^~~~~

The cause of the error is in lib2geom, so we update the submodule to the latest version, which contains a fix.

Edited by Rafał Siejakowski

Merge request reports