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