Inkscape 1.1 fails to compile with clang. Reproducible: Always Steps to Reproduce: 1. Set clang as system-wide compiler. 2. Attempt to build =media-gfx/inkscape-1.1
Created attachment 745491 [details] build log
Created attachment 745494 [details] emerge --info
Created attachment 745497 [details] emerge -pqv
Related: https://bugs.gentoo.org/816690
From the log: > FAILED: src/CMakeFiles/inkscape_base.dir/object/object-set.cpp.o > /usr/lib/llvm/12/bin/clang++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DHAVE_CONFIG_H -Dinkscape_base_EXPORTS -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_build/src -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74 -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_build/include -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/3rdparty/adaptagrams -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/3rdparty/2geom/include -I/var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/3rdparty/2geom/include/2geom -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/pango-1.0 -isystem /usr/lib64/libffi/include -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/fribidi -isystem /usr/include/uuid -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/libpng16 -isystem /usr/include/libsoup-2.4 -isystem /usr/include/libxml2 -isystem /usr/include/poppler -isystem /usr/include/libcdr-0.1 -isystem /usr/include/librevenge-0.0 -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem /var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_build/src/extension/dbus -isystem /usr/include/gtkmm-3.0 -isystem /usr/lib64/gtkmm-3.0/include -isystem /usr/include/giomm-2.4 -isystem /usr/lib64/giomm-2.4/include -isystem /usr/include/glibmm-2.4 -isystem /usr/lib64/glibmm-2.4/include -isystem /usr/include/sigc++-2.0 -isystem /usr/lib64/sigc++-2.0/include -isystem /usr/include/gtk-3.0 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/atk-1.0 -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem /usr/include/cairomm-1.0 -isystem /usr/lib64/cairomm-1.0/include -isystem /usr/include/pangomm-1.4 -isystem /usr/lib64/pangomm-1.4/include -isystem /usr/include/atkmm-1.6 -isystem /usr/lib64/atkmm-1.6/include -isystem /usr/include/gtk-3.0/unix-print -isystem /usr/include/gdkmm-3.0 -isystem /usr/lib64/gdkmm-3.0/include -isystem /usr/include/gspell-1 -isystem /usr/include/enchant-2 -march=znver2 -mtune=znver2 -O3 -pipe -fomit-frame-pointer -fpie -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fstack-clash-protection -flto=thin -stdlib=libc++ -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Werror=format -Werror=format-security -Wno-switch -pthread -fopenmp=libomp -fPIC -pthread -UWITH_MESH -UWITH_CSSBLEND -UWITH_CSSCOMPOSITE -UWITH_SVG2 -fPIC -fdiagnostics-color -std=gnu++17 -MD -MT src/CMakeFiles/inkscape_base.dir/object/object-set.cpp.o -MF src/CMakeFiles/inkscape_base.dir/object/object-set.cpp.o.d -o src/CMakeFiles/inkscape_base.dir/object/object-set.cpp.o -c /var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/object/object-set.cpp > In file included from /var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/object/object-set.cpp:13: > In file included from /usr/include/sigc++-2.0/sigc++/sigc++.h:123: > In file included from /usr/include/sigc++-2.0/sigc++/signal.h:7: > In file included from /usr/include/c++/v1/list:189: > /usr/include/c++/v1/algorithm:2629:5: error: static_assert failed due to requirement '__is_cpp17_forward_iterator<boost::iterators::transform_iterator<Inkscape::object_to_node, boost::iterators::filter_iterator<Inkscape::is_item, boost::multi_index::detail::rnd_node_iterator<boost::multi_index::detail::random_access_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::index_node_base<SPObject *, std::allocator<SPObject *>>>>>>, boost::use_default, boost::use_default>>::value' "std::max_element requires a ForwardIterator" > static_assert(__is_cpp17_forward_iterator<_ForwardIterator>::value, > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /var/tmp/portage/media-gfx/inkscape-1.1/work/inkscape-1.1_2021-05-24_c4e8f9ed74/src/object/object-set.cpp:266:18: note: in instantiation of function template specialization 'std::max_element<boost::iterators::transform_iterator<Inkscape::object_to_node, boost::iterators::filter_iterator<Inkscape::is_item, boost::multi_index::detail::rnd_node_iterator<boost::multi_index::detail::random_access_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::index_node_base<SPObject *, std::allocator<SPObject *>>>>>>>, bool (*)(const Inkscape::XML::Node *, const Inkscape::XML::Node *)>' requested here > return *std::max_element(n.begin(), n.end(), sp_repr_compare_position_bool); > ^ > 1 error generated.
*** Bug 816690 has been marked as a duplicate of this bug. ***
Issue has been reported for inkscape already: https://gitlab.com/inkscape/inbox/-/issues/5802
(In reply to Andy from comment #7) > Issue has been reported for inkscape already: > https://gitlab.com/inkscape/inbox/-/issues/5802 Patch is https://cgit.freebsd.org/ports/tree/graphics/inkscape/files/patch-src_object_object-set.cpp