patches for gcc-9 and poppler-0.76.1
On my Gentoo system, Inkscape version 0.92.4 does not compile with gcc-9.1 needing several additions of 'const'
There are many error messages like
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_tree.h: In instantiation of 'class std::_Rb_tree<Box3D::VanishingPoint*, Box3D::VanishingPoint*, std::_Identity<Box3D::VanishingPoint*>, Box3D::less_ptr, std::allocator<Box3D::VanishingPoint*> >':
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_set.h:133:17: required from 'class std::set<Box3D::VanishingPoint*, Box3D::less_ptr>'
vanishing-point.cpp:107:49: required from here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_tree.h:457:21: error: static assertion failed: comparison object must be invocable as const
static_assert(is_invocable_v<const _Compare&, const _Key&, const _Key&>,
inkscape-0.92.4-gcc9.patchinkscape-0.92.4-poppler.patch
Furthermore it doesn't compile with poppler-0.76.1
extension/internal/pdfinput/pdf-parser.cpp:429:57: error: no matching function for call to 'Parser::Parser(XRef*&, Lexer*, bool)'
429 | parser = new Parser(xref, new Lexer(xref, obj), gFalse);
I'd be grateful if some could have a look at these patches, especially the reinterpret_cast in pdf-parser.cpp
Edited by Qantas94Heavy