Libreoffice 25.8.1.1 does not build with Poppler 25.10.0 because of errors. /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx: In function ‘int main(int, char**)’: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:78: error: no matching function for call to ‘std::optional<GooString>::optional(GooString*&)’ 220 | std::optional<GooString>(pOwnerPasswordStr), | ^ /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:78: note: there are 8 candidates In file included from /usr/include/poppler/Stream.h:52, from /usr/include/poppler/Object.h:614, from /usr/include/poppler/GfxState.h:45, from /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx:36, from /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:20: /usr/include/c++/15.2.0/optional:913:9: note: candidate 1: ‘template<class _Up, class ... _Args> requires is_constructible_v<_Tp, std::initializer_list<_Up>&, _Args ...> constexpr std::optional<_Tp>::optional(std::in_place_t, std::initializer_list<_Up>, _Args&& ...) [with _Args = _Up; _Tp = GooString]’ 913 | optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:913:9: note: candidate expects at least 2 arguments, 1 provided /usr/include/c++/15.2.0/optional:905:9: note: candidate 2: ‘template<class ... _Args> requires is_constructible_v<_Tp, _Args ...> constexpr std::optional<_Tp>::optional(std::in_place_t, _Args&& ...) [with _Args = {_Args ...}; _Tp = GooString]’ 905 | optional(in_place_t, _Args&&... __args) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:905:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:61: note: cannot convert ‘pOwnerPasswordStr’ (type ‘GooString*’) to type ‘std::in_place_t’ 220 | std::optional<GooString>(pOwnerPasswordStr), | ^~~~~~~~~~~~~~~~~ /usr/include/c++/15.2.0/optional:895:9: note: candidate 3: ‘template<class _Up> requires !(is_same_v<_Tp, _Up>) && (is_constructible_v<_Tp, _Up>) && (__construct_from_contained_value<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(std::optional<_From>&&) [with _Tp = GooString]’ 895 | optional(optional<_Up>&& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:895:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:78: note: mismatched types ‘std::optional<_Tp>’ and ‘GooString*’ 220 | std::optional<GooString>(pOwnerPasswordStr), | ^ /usr/include/c++/15.2.0/optional:883:9: note: candidate 4: ‘template<class _Up> requires !(is_same_v<_Tp, _Up>) && (is_constructible_v<_Tp, const _Up&>) && (__construct_from_contained_value<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(const std::optional<_From>&) [with _Tp = GooString]’ 883 | optional(const optional<_Up>& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:883:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:78: note: mismatched types ‘const std::optional<_Tp>’ and ‘GooString*’ 220 | std::optional<GooString>(pOwnerPasswordStr), | ^ /usr/include/c++/15.2.0/optional:874:9: note: candidate 5: ‘template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(_Up&&) [with _Tp = GooString]’ 874 | optional(_Up&& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:874:9: note: template argument deduction/substitution failed: /usr/include/c++/15.2.0/optional:874:9: note: constraints not satisfied /usr/include/c++/15.2.0/optional: In substitution of ‘template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<GooString>::optional(_Up&&) [with _Up = GooString*&]’: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:220:78: required from here 220 | std::optional<GooString>(pOwnerPasswordStr), | ^ /usr/include/c++/15.2.0/optional:874:2: required by the constraints of ‘template<class _Tp> template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(_Up&&)’ /usr/include/c++/15.2.0/optional:871:14: note: the expression ‘is_constructible_v<_Tp, _Up> [with _Tp = GooString; _Up = GooString*&]’ evaluated to ‘false’ 871 | && is_constructible_v<_Tp, _Up> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15.2.0/optional:864:17: note: candidate 6: ‘constexpr std::optional<_Tp>::optional(std::nullopt_t) [with _Tp = GooString]’ 864 | constexpr optional(nullopt_t) noexcept { } | ^~~~~~~~ /usr/include/c++/15.2.0/optional:864:26: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::nullopt_t’ 864 | constexpr optional(nullopt_t) noexcept { } | ^~~~~~~~~ /usr/include/c++/15.2.0/optional:862:17: note: candidate 7: ‘constexpr std::optional<_Tp>::optional() [with _Tp = GooString]’ 862 | constexpr optional() noexcept { } | ^~~~~~~~ /usr/include/c++/15.2.0/optional:862:17: note: candidate expects 0 arguments, 1 provided /usr/include/c++/15.2.0/optional:778:11: note: candidate 8: ‘constexpr std::optional<GooString>::optional(std::optional<GooString>&&)’ 778 | class optional | ^~~~~~~~ /usr/include/c++/15.2.0/optional:778:11: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::optional<GooString>&&’ /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:77: error: no matching function for call to ‘std::optional<GooString>::optional(GooString*&)’ 221 | std::optional<GooString>(pUserPasswordStr))); | ^ /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:77: note: there are 8 candidates /usr/include/c++/15.2.0/optional:913:9: note: candidate 1: ‘template<class _Up, class ... _Args> requires is_constructible_v<_Tp, std::initializer_list<_Up>&, _Args ...> constexpr std::optional<_Tp>::optional(std::in_place_t, std::initializer_list<_Up>, _Args&& ...) [with _Args = _Up; _Tp = GooString]’ 913 | optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:913:9: note: candidate expects at least 2 arguments, 1 provided /usr/include/c++/15.2.0/optional:905:9: note: candidate 2: ‘template<class ... _Args> requires is_constructible_v<_Tp, _Args ...> constexpr std::optional<_Tp>::optional(std::in_place_t, _Args&& ...) [with _Args = {_Args ...}; _Tp = GooString]’ 905 | optional(in_place_t, _Args&&... __args) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:905:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:61: note: cannot convert ‘pUserPasswordStr’ (type ‘GooString*’) to type ‘std::in_place_t’ 221 | std::optional<GooString>(pUserPasswordStr))); | ^~~~~~~~~~~~~~~~ /usr/include/c++/15.2.0/optional:895:9: note: candidate 3: ‘template<class _Up> requires !(is_same_v<_Tp, _Up>) && (is_constructible_v<_Tp, _Up>) && (__construct_from_contained_value<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(std::optional<_From>&&) [with _Tp = GooString]’ 895 | optional(optional<_Up>&& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:895:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:77: note: mismatched types ‘std::optional<_Tp>’ and ‘GooString*’ 221 | std::optional<GooString>(pUserPasswordStr))); | ^ /usr/include/c++/15.2.0/optional:883:9: note: candidate 4: ‘template<class _Up> requires !(is_same_v<_Tp, _Up>) && (is_constructible_v<_Tp, const _Up&>) && (__construct_from_contained_value<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(const std::optional<_From>&) [with _Tp = GooString]’ 883 | optional(const optional<_Up>& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:883:9: note: template argument deduction/substitution failed: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:77: note: mismatched types ‘const std::optional<_Tp>’ and ‘GooString*’ 221 | std::optional<GooString>(pUserPasswordStr))); | ^ /usr/include/c++/15.2.0/optional:874:9: note: candidate 5: ‘template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(_Up&&) [with _Tp = GooString]’ 874 | optional(_Up&& __t) | ^~~~~~~~ /usr/include/c++/15.2.0/optional:874:9: note: template argument deduction/substitution failed: /usr/include/c++/15.2.0/optional:874:9: note: constraints not satisfied /usr/include/c++/15.2.0/optional: In substitution of ‘template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<GooString>::optional(_Up&&) [with _Up = GooString*&]’: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:221:77: required from here 221 | std::optional<GooString>(pUserPasswordStr))); | ^ /usr/include/c++/15.2.0/optional:874:2: required by the constraints of ‘template<class _Tp> template<class _Up> requires !(is_same_v<std::optional<_Tp>, typename std::remove_cvref<_It2>::type>) && !(is_same_v<std::in_place_t, typename std::remove_cvref<_It2>::type>) && (is_constructible_v<_Tp, _Up>) && (__not_constructing_bool_from_optional<_Up, typename std::remove_cv< <template-parameter-1-1> >::type>) constexpr std::optional<_Tp>::optional(_Up&&)’ /usr/include/c++/15.2.0/optional:871:14: note: the expression ‘is_constructible_v<_Tp, _Up> [with _Tp = GooString; _Up = GooString*&]’ evaluated to ‘false’ 871 | && is_constructible_v<_Tp, _Up> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15.2.0/optional:864:17: note: candidate 6: ‘constexpr std::optional<_Tp>::optional(std::nullopt_t) [with _Tp = GooString]’ 864 | constexpr optional(nullopt_t) noexcept { } | ^~~~~~~~ /usr/include/c++/15.2.0/optional:864:26: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::nullopt_t’ 864 | constexpr optional(nullopt_t) noexcept { } | ^~~~~~~~~ /usr/include/c++/15.2.0/optional:862:17: note: candidate 7: ‘constexpr std::optional<_Tp>::optional() [with _Tp = GooString]’ 862 | constexpr optional() noexcept { } | ^~~~~~~~ /usr/include/c++/15.2.0/optional:862:17: note: candidate expects 0 arguments, 1 provided /usr/include/c++/15.2.0/optional:778:11: note: candidate 8: ‘constexpr std::optional<GooString>::optional(std::optional<GooString>&&)’ 778 | class optional | ^~~~~~~~ /usr/include/c++/15.2.0/optional:778:11: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::optional<GooString>&&’ In file included from /usr/include/c++/15.2.0/memory:80, from /usr/include/poppler/goo/GooString.h:46, from /usr/include/poppler/Object.h:45: /usr/include/c++/15.2.0/bits/unique_ptr.h: In instantiation of ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = GooString; _Args = {GooString*&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<GooString>]’: /sources/BLFS/libreoffice-25.8.1.1/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx:219:63: required from here 219 | new PDFDoc(std::make_unique<GooString>(pFileName), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ /usr/include/c++/15.2.0/bits/unique_ptr.h:1085:30: error: no matching function for call to ‘GooString::GooString(GooString*&)’ 1085 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15.2.0/bits/unique_ptr.h:1085:30: note: there are 8 candidates /usr/include/poppler/goo/GooString.h:92:5: note: candidate 1: ‘GooString::GooString(const std::string&, int, size_t)’ 92 | GooString(const std::string &str, int idx, size_t lengthA) : std::string(str, idx, lengthA) { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:92:5: note: candidate expects 3 arguments, 1 provided /usr/include/poppler/goo/GooString.h:91:5: note: candidate 2: ‘GooString::GooString(const GooString*, int, size_t)’ 91 | GooString(const GooString *str, int idx, size_t lengthA) : std::string(*str, idx, lengthA) { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:91:5: note: candidate expects 3 arguments, 1 provided /usr/include/poppler/goo/GooString.h:88:5: note: candidate 3: ‘GooString::GooString(const char*, size_t)’ 88 | GooString(const char *sA, size_t lengthA) : std::string(sA ? sA : "", sA ? lengthA : 0) { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:88:5: note: candidate expects 2 arguments, 1 provided /usr/include/poppler/goo/GooString.h:81:14: note: candidate 4: ‘GooString::GooString(std::string&&)’ 81 | explicit GooString(std::string &&str) : std::string(std::move(str)) { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:81:38: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::string&&’ {aka ‘std::__cxx11::basic_string<char>&&’} 81 | explicit GooString(std::string &&str) : std::string(std::move(str)) { } | ~~~~~~~~~~~~~~^~~ /usr/include/poppler/goo/GooString.h:80:14: note: candidate 5: ‘GooString::GooString(const std::string&)’ 80 | explicit GooString(const std::string &str) : std::string(str) { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:80:43: note: no known conversion for argument 1 from ‘GooString*’ to ‘const std::string&’ {aka ‘const std::__cxx11::basic_string<char>&’} 80 | explicit GooString(const std::string &str) : std::string(str) { } | ~~~~~~~~~~~~~~~~~~~^~~ /usr/include/poppler/goo/GooString.h:71:14: note: candidate 6: ‘GooString::GooString(const char*)’ 71 | explicit GooString(const char *sA) : std::string(sA ? sA : "") { } | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:71:36: note: no known conversion for argument 1 from ‘GooString*’ to ‘const char*’ 71 | explicit GooString(const char *sA) : std::string(sA ? sA : "") { } | ~~~~~~~~~~~~^~ /usr/include/poppler/goo/GooString.h:64:5: note: candidate 7: ‘constexpr GooString::GooString(GooString&&)’ 64 | GooString(GooString &&other) = default; | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:64:27: note: no known conversion for argument 1 from ‘GooString*’ to ‘GooString&&’ 64 | GooString(GooString &&other) = default; | ~~~~~~~~~~~~^~~~~ /usr/include/poppler/goo/GooString.h:59:5: note: candidate 8: ‘constexpr GooString::GooString()’ 59 | GooString() = default; | ^~~~~~~~~ /usr/include/poppler/goo/GooString.h:59:5: note: candidate expects 0 arguments, 1 provided
Please send an email about this to the developer list: https://wiki.documentfoundation.org/QA/BugReport#Not_all_issues_go_to_Bugzilla Mention all relevant details, autogen options, compiler version used etc. I assume you are doing this under Linux From Scratch.
*** Bug 168795 has been marked as a duplicate of this bug. ***