Package: src:hfst
Version: 3.16.1-3
Severity: important
User: [email protected]
Usertags: icu76

The package fails to build with icu 76.1-2 from experimental. The most likely reason is that it's not built for the default C++17 standards, and manually specifies an earlier standard.

The build log shows the package building with -std=c++11, and failing.

[...]
Making all in python
make[3]: Entering directory '/<<PKGBUILDDIR>>/python'
/usr/bin/python3 setup.py build
/usr/lib/python3/dist-packages/setuptools/dist.py:330: InformationOnly: Normalizing '3.16.0_beta' to '3.16.0b0'
  self.metadata.version = self._normalize_version(self.metadata.version)
file libhfst.py (for module libhfst) not found
file libhfst.py (for module libhfst) not found
libhfst.i:1528: Warning 321: 'compile' conflicts with a built-in name in python
libhfst.i:1590: Warning 321: 'set' conflicts with a built-in name in python
libhfst.i:1672: Warning 321: 'compile' conflicts with a built-in name in python
In file included from /usr/include/unicode/unistr.h:37,
from /<<PKGBUILDDIR>>/libhfst/src/parsers/../implementations/optimized-lookup/transducer.h:39, from /<<PKGBUILDDIR>>/libhfst/src/parsers/../implementations/ConvertTransducerFormat.h:39, from /<<PKGBUILDDIR>>/libhfst/src/parsers/../implementations/HfstBasicTransducer.h:31, from /<<PKGBUILDDIR>>/libhfst/src/parsers/LexcCompiler.h:35,
                 from /<<PKGBUILDDIR>>/libhfst/src/HfstTransducer.h:21,
                 from libhfst_wrap.cpp:3981:
/usr/include/unicode/char16ptr.h:317:10: error: ‘is_convertible_v’ is not a member of ‘std’; did you mean ‘is_convertible’?
  317 |     std::is_convertible_v<T, std::u16string_view>
      |          ^~~~~~~~~~~~~~~~
      |          is_convertible
/usr/include/unicode/char16ptr.h:317:28: error: expected primary-expression before ‘,’ token
  317 |     std::is_convertible_v<T, std::u16string_view>
      |                            ^
/usr/include/unicode/char16ptr.h:331:13: error: ‘u16string_view’ in namespace ‘std’ does not name a type; did you mean ‘u16string’? 331 | inline std::u16string_view toU16StringView(std::u16string_view sv) { return sv; }
      |             ^~~~~~~~~~~~~~
      |             u16string
/usr/include/unicode/char16ptr.h:339:13: error: ‘u16string_view’ in namespace ‘std’ does not name a type; did you mean ‘u16string’? 339 | inline std::u16string_view toU16StringView(std::basic_string_view<uint16_t> sv) {
      |             ^~~~~~~~~~~~~~
      |             u16string
/usr/include/unicode/char16ptr.h:360:36: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 360 | typename = typename std::enable_if_t<!std::is_pointer_v<std::remove_reference_t<T>>>>
      |                                    ^~~~~~~~~~~
/usr/include/unicode/char16ptr.h:360:36: note: ‘std::enable_if_t’ is only available from C++14 onwards /usr/include/unicode/char16ptr.h:360:47: error: expected ‘>’ before ‘<’ token 360 | typename = typename std::enable_if_t<!std::is_pointer_v<std::remove_reference_t<T>>>>
      |                                               ^
/usr/include/unicode/char16ptr.h:361:13: error: ‘u16string_view’ in namespace ‘std’ does not name a type; did you mean ‘u16string’?
  361 | inline std::u16string_view toU16StringViewNullable(const T& text) {
      |             ^~~~~~~~~~~~~~
      |             u16string
/usr/include/unicode/char16ptr.h:370:36: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 370 | typename = typename std::enable_if_t<std::is_pointer_v<std::remove_reference_t<T>>>,
      |                                    ^~~~~~~~~~~
/usr/include/unicode/char16ptr.h:370:36: note: ‘std::enable_if_t’ is only available from C++14 onwards /usr/include/unicode/char16ptr.h:370:47: error: expected ‘>’ before ‘<’ token 370 | typename = typename std::enable_if_t<std::is_pointer_v<std::remove_reference_t<T>>>,
      |                                               ^
/usr/include/unicode/char16ptr.h:372:13: error: ‘u16string_view’ in namespace ‘std’ does not name a type; did you mean ‘u16string’?
  372 | inline std::u16string_view toU16StringViewNullable(const T& text) {
      |             ^~~~~~~~~~~~~~
      |             u16string
In file included from /usr/include/unicode/unistr.h:40:
/usr/include/unicode/stringpiece.h:134:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
  134 |             typename = std::enable_if_t<
      |                             ^~~~~~~~~~~
/usr/include/unicode/stringpiece.h:134:24: note: ‘std::enable_if_t’ is only available from C++14 onwards
  134 |             typename = std::enable_if_t<
      |                        ^~~
/usr/include/unicode/stringpiece.h:134:40: error: expected ‘>’ before ‘<’ token
  134 |             typename = std::enable_if_t<
      |                                        ^
/usr/include/unicode/stringpiece.h:185:19: error: expected type-specifier
  185 |   inline operator std::string_view() const {
      |                   ^~~
/usr/include/unicode/unistr.h:346:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 346 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:346:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 346 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:346:51: error: expected ‘>’ before ‘<’ token
346 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:381:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 381 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:381:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 381 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:381:51: error: expected ‘>’ before ‘<’ token
381 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:1959:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 1959 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:1959:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 1959 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:1959:51: error: expected ‘>’ before ‘<’ token
1959 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:2226:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 2226 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:2226:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 2226 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:2226:51: error: expected ‘>’ before ‘<’ token
2226 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:2299:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 2299 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:2299:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 2299 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:2299:51: error: expected ‘>’ before ‘<’ token
2299 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:3035:19: error: expected type-specifier
 3035 |   inline operator std::u16string_view() const {
      |                   ^~~
/usr/include/unicode/unistr.h:3273:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 3273 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:3273:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 3273 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:3273:51: error: expected ‘>’ before ‘<’ token
3273 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:3599:40: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 3599 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                        ^~~~~~~~~~~
/usr/include/unicode/unistr.h:3599:35: note: ‘std::enable_if_t’ is only available from C++14 onwards 3599 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                   ^~~
/usr/include/unicode/unistr.h:3599:51: error: expected ‘>’ before ‘<’ token
3599 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                   ^
/usr/include/unicode/unistr.h:3755:60: error: ‘std::u16string_view’ has not been declared 3755 | static UnicodeString readOnlyAliasFromU16StringView(std::u16string_view text); | ^~~~~~~~~~~~~~ /usr/include/unicode/unistr.h:3871:64: error: ‘std::u16string_view’ has not been declared 3871 | UnicodeString& doReplace(int32_t start, int32_t length, std::u16string_view src); | ^~~~~~~~~~~~~~ /usr/include/unicode/unistr.h:3875:32: error: ‘std::u16string_view’ has not been declared
 3875 |   UnicodeString& doAppend(std::u16string_view src);
      |                                ^~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: In member function ‘bool icu_76::UnicodeString::operator==(const S&) const’: /usr/include/unicode/unistr.h:348:10: error: ‘u16string_view’ is not a member of ‘std’; did you mean ‘u16string’?
  348 |     std::u16string_view sv(internal::toU16StringView(text));
      |          ^~~~~~~~~~~~~~
      |          u16string
/usr/include/unicode/unistr.h:350:46: error: ‘sv’ was not declared in this scope 350 | return !isBogus() && (len = length()) == sv.length() && doEquals(sv.data(), len);
      |                                              ^~
/usr/include/unicode/unistr.h: In member function ‘icu_76::UnicodeString& icu_76::UnicodeString::operator=(const S&)’: /usr/include/unicode/unistr.h:1962:45: error: ‘toU16StringView’ is not a member of ‘icu_76::internal’
 1962 |     return doReplace(0, length(), internal::toU16StringView(src));
      |                                             ^~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: In member function ‘icu_76::UnicodeString& icu_76::UnicodeString::operator+=(const S&)’: /usr/include/unicode/unistr.h:2228:31: error: ‘toU16StringView’ is not a member of ‘icu_76::internal’
 2228 |     return doAppend(internal::toU16StringView(src));
      |                               ^~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: In member function ‘icu_76::UnicodeString& icu_76::UnicodeString::append(const S&)’: /usr/include/unicode/unistr.h:2301:31: error: ‘toU16StringView’ is not a member of ‘icu_76::internal’
 2301 |     return doAppend(internal::toU16StringView(src));
      |                               ^~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: In constructor ‘icu_76::UnicodeString::UnicodeString(const S&)’: /usr/include/unicode/unistr.h:3276:24: error: ‘toU16StringViewNullable’ is not a member of ‘icu_76::internal’
 3276 |     doAppend(internal::toU16StringViewNullable(text));
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: In static member function ‘static icu_76::UnicodeString icu_76::UnicodeString::readOnlyAlias(const S&)’: /usr/include/unicode/unistr.h:3601:53: error: ‘toU16StringView’ is not a member of ‘icu_76::internal’ 3601 | return readOnlyAliasFromU16StringView(internal::toU16StringView(text));
      |                                                     ^~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h: At global scope:
/usr/include/unicode/unistr.h:4116:38: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 4116 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                      ^~~~~~~~~~~
/usr/include/unicode/unistr.h:4116:33: note: ‘std::enable_if_t’ is only available from C++14 onwards 4116 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                 ^~~
/usr/include/unicode/unistr.h:4116:49: error: expected ‘>’ before ‘<’ token
4116 | template<typename S, typename = std::enable_if_t<ConvertibleToU16StringView<S>>>
      |                                                 ^
/usr/include/unicode/unistr.h: In function ‘icu_76::UnicodeString icu_76::operator+(const UnicodeString&, const S&)’: /usr/include/unicode/unistr.h:4118:46: error: ‘toU16StringView’ is not a member of ‘icu_76::internal’
 4118 |   return unistr_internalConcat(s1, internal::toU16StringView(s2));
      |                                              ^~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h:4118:10: error: there are no arguments to ‘unistr_internalConcat’ that depend on a template parameter, so a declaration of ‘unistr_internalConcat’ must be available [-fpermissive]
 4118 |   return unistr_internalConcat(s1, internal::toU16StringView(s2));
      |          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/unistr.h:4118:10: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/include/unicode/unistr.h: At global scope:
/usr/include/unicode/unistr.h:4125:53: error: ‘std::u16string_view’ has not been declared 4125 | unistr_internalConcat(const UnicodeString &s1, std::u16string_view s2);
      |                                                     ^~~~~~~~~~~~~~
In file included from libhfst_wrap.cpp:4008:
hfst_lookup_extensions.cpp:51:140: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] 51 | HfstOneLevelPaths lookup_vector(const hfst::HfstTransducer * tr, bool fd, const StringVector& s, int limit = -1, double time_cutoff = 0.0) throw(TransducerIsCyclicException, FunctionNotImplementedException) | ^~~~~ hfst_lookup_extensions.cpp:69:139: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] 69 | HfstOneLevelPaths lookup_string(const hfst::HfstTransducer * tr, bool fd, const std::string& s, int limit = -1, double time_cutoff = 0.0) throw(TransducerIsCyclicException, FunctionNotImplementedException) | ^~~~~
error: command '/usr/bin/x86_64-linux-gnu-g++' failed with exit code 1
make[3]: *** [Makefile:685: %_wrap.cpp.cpp] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/python'
make[2]: *** [Makefile:500: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:411: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'

Reply via email to