https://bugs.documentfoundation.org/show_bug.cgi?id=168756

            Bug ID: 168756
           Summary: LibreOffice 25.8.1.1 FTBFS with Poppler 25.10.0
           Product: LibreOffice
           Version: 25.8.1.1 release
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: LibreOffice
          Assignee: [email protected]
          Reporter: [email protected]

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

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to