Unable to compile Firebird with ICU 60 or higer -----------------------------------------------
Key: CORE-5817 URL: http://tracker.firebirdsql.org/browse/CORE-5817 Project: Firebird Core Issue Type: Bug Components: Build Issues / Porting Affects Versions: 3.0.3 Environment: Linux (Gentoo) Reporter: vincent (with icu 58 everything works as expected) When I compile with icu 60 or higher, I get : In file included from /usr/include/unicode/utypes.h:38:0, from /usr/include/unicode/ucnv_err.h:88, from /usr/include/unicode/ucnv.h:52, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/umachine.h:347:13: error: 'char16_t' does not name a type; did you mean 'charset'? typedef char16_t UChar; ^~~~~~~~ charset In file included from /usr/include/unicode/utypes.h:39:0, from /usr/include/unicode/ucnv_err.h:88, from /usr/include/unicode/ucnv.h:52, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/uversion.h:167:55: error: 'UChar' does not name a type; did you mean 'UChar32'? u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); ^~~~~ UChar32 In file included from /usr/include/unicode/ucnv.h:52:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/ucnv_err.h:198:11: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *source; /**< Pointer to the source source buffer. @stable ICU 2.0 */ ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:199:11: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *sourceLimit; /**< Pointer to the limit (end + 1) of source buffer. @stable ICU 2.0 */ ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:216:5: error: 'UChar' does not name a type; did you mean 'UChar32'? UChar *target; /**< Pointer to the target buffer. @stable ICU 2.0 */ ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:217:11: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *targetLimit; /**< Pointer to the limit (end + 1) of target buffer. @stable ICU 2.0 */ ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:239:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:290:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:320:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 /usr/include/unicode/ucnv_err.h:376:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 In file included from /usr/include/unicode/uenum.h:23:0, from /usr/include/unicode/ucnv.h:53, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/localpointer.h:221:34: error: expected ',' or '...' before '&&' token LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^~ /usr/include/unicode/localpointer.h:221:39: error: invalid constructor; you probably meant 'icu::LocalPointer<T> (const icu::LocalPointer<T>&)' LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ /usr/include/unicode/localpointer.h:238:48: error: expected ',' or '...' before '&&' token LocalPointer<T> &operator=(LocalPointer<T> &&src) U_NOEXCEPT { ^~ /usr/include/unicode/localpointer.h: In member function 'icu::LocalPointer<T>& icu::LocalPointer<T>::operator=(icu::LocalPointer<T>)': /usr/include/unicode/localpointer.h:239:25: error: 'src' was not declared in this scope return moveFrom(src); ^~~ /usr/include/unicode/localpointer.h: At global scope: /usr/include/unicode/localpointer.h:366:30: error: expected ',' or '...' before '&&' token LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^~ /usr/include/unicode/localpointer.h:366:35: error: invalid constructor; you probably meant 'icu::LocalArray<T> (const icu::LocalArray<T>&)' LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { ^ /usr/include/unicode/localpointer.h:383:44: error: expected ',' or '...' before '&&' token LocalArray<T> &operator=(LocalArray<T> &&src) U_NOEXCEPT { ^~ /usr/include/unicode/localpointer.h: In member function 'icu::LocalArray<T>& icu::LocalArray<T>::operator=(icu::LocalArray<T>)': /usr/include/unicode/localpointer.h:384:25: error: 'src' was not declared in this scope return moveFrom(src); ^~~ /usr/include/unicode/uenum.h: At global scope: /usr/include/unicode/uenum.h:68:1: error: expected ',' or '...' before '&&' token U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); ^ /usr/include/unicode/uenum.h:68:1: error: invalid constructor; you probably meant 'icu::LocalUEnumerationPointer (const icu::LocalUEnumerationPointer&)' U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); ^ /usr/include/unicode/uenum.h:68:1: error: expected ',' or '...' before '&&' token U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); ^ /usr/include/unicode/uenum.h: In member function 'icu::LocalUEnumerationPointer& icu::LocalUEnumerationPointer::operator=(icu::LocalUEnumerationPointer)': /usr/include/unicode/uenum.h:68:1: error: 'src' was not declared in this scope U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close); ^ In file included from /usr/include/unicode/ucnv.h:53:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/uenum.h: At global scope: /usr/include/unicode/uenum.h:112:16: error: 'UChar' does not name a type; did you mean 'UChar32'? U_STABLE const UChar* U_EXPORT2 ^~~~~ UChar32 In file included from /usr/include/unicode/ucnv.h:53:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/uenum.h:190:41: error: 'UChar' does not name a type; did you mean 'UChar32'? uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count, ^~~~~ UChar32 In file included from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/ucnv.h:226:27: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:397:18: error: 'UChar' does not name a type; did you mean 'UChar32'? ucnv_openU(const UChar *name, ^~~~~ UChar32 In file included from /usr/include/unicode/uenum.h:23:0, from /usr/include/unicode/ucnv.h:53, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/ucnv.h:586:1: error: expected ',' or '...' before '&&' token U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close); ^ /usr/include/unicode/ucnv.h:586:1: error: invalid constructor; you probably meant 'icu::LocalUConverterPointer (const icu::LocalUConverterPointer&)' U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close); ^ /usr/include/unicode/ucnv.h:586:1: error: expected ',' or '...' before '&&' token U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close); ^ /usr/include/unicode/ucnv.h: In member function 'icu::LocalUConverterPointer& icu::LocalUConverterPointer::operator=(icu::LocalUConverterPointer)': /usr/include/unicode/ucnv.h:586:1: error: 'src' was not declared in this scope U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close); ^ In file included from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:34:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /usr/include/unicode/ucnv.h: At global scope: /usr/include/unicode/ucnv.h:669:27: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *s, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:707:23: error: 'UChar' has not been declared UChar *errUChars, ^~~~~ /usr/include/unicode/ucnv.h:846:21: error: 'UChar' has not been declared UChar *displayName, ^~~~~ /usr/include/unicode/ucnv.h:1147:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar ** source, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:1148:25: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar * sourceLimit, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:1214:16: error: 'UChar' has not been declared UChar **target, ^~~~~ /usr/include/unicode/ucnv.h:1215:22: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *targetLimit, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:1252:23: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *src, int32_t srcLength, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:1283:15: error: 'UChar' has not been declared UChar *dest, int32_t destCapacity, ^~~~~ /usr/include/unicode/ucnv.h:1505:16: error: 'UChar' has not been declared UChar *pivotStart, UChar **pivotSource, ^~~~~ /usr/include/unicode/ucnv.h:1505:35: error: 'UChar' has not been declared UChar *pivotStart, UChar **pivotSource, ^~~~~ /usr/include/unicode/ucnv.h:1506:16: error: 'UChar' has not been declared UChar **pivotTarget, const UChar *pivotLimit, ^~~~~ /usr/include/unicode/ucnv.h:1506:43: error: 'UChar' does not name a type; did you mean 'UChar32'? UChar **pivotTarget, const UChar *pivotLimit, ^~~~~ UChar32 /usr/include/unicode/ucnv.h:1916:46: error: 'UChar' has not been declared ucnv_fixFileSeparator(const UConverter *cnv, UChar *source, int32_t sourceLen); ^~~~~ In file included from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/intl_classes.h:35:0, from /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/TextType.cpp:96: /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:54:20: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *src, int32_t srcLength, ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:59:44: error: 'UChar' does not name a type; did you mean 'UChar32'? int32_t (U_EXPORT2* u_strCompare) (const UChar* s1, int32_t length1, ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:60:20: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* s2, int32_t length2, UBool codePointOrder); ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:61:45: error: 'UChar' does not name a type; did you mean 'UChar32'? int32_t (U_EXPORT2* u_countChar32) (const UChar* s, int32_t length); ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:68:23: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar* codeUnits, ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:100:23: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar ** source, ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:101:23: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar * sourceLimit, ^~~~~ UChar32 /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:107:17: error: 'UChar' has not been declared UChar **target, ^~~~~ /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/src/common/../jrd/../common/unicode_util.h:108:23: error: 'UChar' does not name a type; did you mean 'UChar32'? const UChar *targetLimit, ^~~~~ UChar32 make[3]: *** [make.rules:102: /var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/temp/Release/common/TextType.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/gen' make[2]: *** [Makefile:178: master_process] Error 2 make[2]: Leaving directory '/var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/gen' make[1]: *** [Makefile:66: firebird] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-db/firebird-3.0.3.32900.0/work/Firebird-3.0.3.32900-0/gen' make: *** [Makefile:6: firebird] Error 2 * ERROR: dev-db/firebird-3.0.3.32900.0::linuxunderground-overlay failed (compile phase): * emake failed -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel