[tlbuild] ICU build error on FreeBSD 11.1

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Mar 7 09:26:34 CET 2018


Hi,

ICU fails to build for me on FreeBSD 11.1

I suspect this could be the package manager's repository with patches:
    https://svnweb.freebsd.org/ports/head/devel/icu/files/

See this ticket for the same error report and link to fix:
    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222269
    https://reviews.freebsd.org/differential/changeset/?ref=317293
(that same change is not in the repository above though)

That patch was later removed in
    https://svnweb.freebsd.org/ports?view=revision&revision=461290

I assume that this is the relevant patch that fixed the issue for
FreeBSD package manager, but I'm not sure how to apply it:

https://svnweb.freebsd.org/ports/head/devel/icu-le-hb/Makefile?r1=461290&r2=461289&pathrev=461290

I assume that some additional flags are needed somewhere.


> c++ --version
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on
LLVM 4.0.0)

Here's the log:

mkdir bin
gmake[5]: Making `all' in `stubdata'
gmake[6]: Entering directory '/path/to/Work/libs/icu/icu-build/stubdata'
generating dependency information for
/path/to/icu-src/source/stubdata/stubdata.cpp
c++ -D_REENTRANT  -DU_HAVE_ELF_H=1 -DU_ENABLE_DYLOAD=0
-DU_HAVE_ATOMIC=1 -DU_HAVE_TIMEZONE=0 -DU_HAVE_STRTOD_L=1
-DU_HAVE_XLOCALE_H=1  -I/path/to/icu-src/source/common
-DU_ATTRIBUTE_DEPRECATED= -O2 -std=c++11   -c   -o stubdata.ao
/path/to/icu-src/source/stubdata/stubdata.cpp
ar r libicudata.a stubdata.ao
ar: warning: creating libicudata.a
ranlib libicudata.a
gmake[6]: Leaving directory '/path/to/Work/libs/icu/icu-build/stubdata'
gmake[5]: Making `all' in `common'
gmake[6]: Entering directory '/path/to/Work/libs/icu/icu-build/common'
generating dependency information for
/path/to/icu-src/source/common/pluralmap.cpp
generating dependency information for
/path/to/icu-src/source/common/ubiditransform.cpp
generating dependency information for
/path/to/icu-src/source/common/uloc_keytype.cpp
generating dependency information for
/path/to/icu-src/source/common/unifiedcache.cpp
generating dependency information for
/path/to/icu-src/source/common/simpleformatter.cpp
generating dependency information for
/path/to/icu-src/source/common/sharedobject.cpp
generating dependency information for
/path/to/icu-src/source/common/ulistformatter.cpp
generating dependency information for
/path/to/icu-src/source/common/listformatter.cpp
generating dependency information for /path/to/icu-src/source/common/icuplug.cpp
generating dependency information for
/path/to/icu-src/source/common/icudataver.cpp
generating dependency information for
/path/to/icu-src/source/common/uloc_tag.cpp
generating dependency information for /path/to/icu-src/source/common/ulist.cpp
generating dependency information for
/path/to/icu-src/source/common/propsvec.cpp
generating dependency information for /path/to/icu-src/source/common/ucnvsel.cpp
generating dependency information for /path/to/icu-src/source/common/dtintrv.cpp
generating dependency information for /path/to/icu-src/source/common/wintz.cpp
generating dependency information for /path/to/icu-src/source/common/cwchar.cpp
generating dependency information for
/path/to/icu-src/source/common/locbased.cpp
generating dependency information for
/path/to/icu-src/source/common/parsepos.cpp
generating dependency information for
/path/to/icu-src/source/common/util_props.cpp
generating dependency information for /path/to/icu-src/source/common/util.cpp
generating dependency information for
/path/to/icu-src/source/common/punycode.cpp
generating dependency information for /path/to/icu-src/source/common/uts46.cpp
generating dependency information for /path/to/icu-src/source/common/usprep.cpp
generating dependency information for /path/to/icu-src/source/common/uidna.cpp
generating dependency information for
/path/to/icu-src/source/common/servslkf.cpp
generating dependency information for /path/to/icu-src/source/common/servrbf.cpp
generating dependency information for /path/to/icu-src/source/common/servlkf.cpp
generating dependency information for /path/to/icu-src/source/common/servlk.cpp
generating dependency information for /path/to/icu-src/source/common/servls.cpp
generating dependency information for
/path/to/icu-src/source/common/servnotf.cpp
generating dependency information for /path/to/icu-src/source/common/serv.cpp
generating dependency information for
/path/to/icu-src/source/common/rbbi_cache.cpp
generating dependency information for
/path/to/icu-src/source/common/rbbitblb.cpp
generating dependency information for
/path/to/icu-src/source/common/rbbistbl.cpp
generating dependency information for
/path/to/icu-src/source/common/rbbisetb.cpp
/path/to/icu-src/source/common/rbbisetb.cpp:652:29: error: pasting
formed 'u"dictionary"', an invalid preprocessing token
        if (setName.compare(UNICODE_STRING("dictionary", 10)) == 0) {
 // TODO:  no string literals.
                            ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
1 error generated.
generating dependency information for
/path/to/icu-src/source/common/rbbiscan.cpp
/path/to/icu-src/source/common/rbbiscan.cpp:548:24: error: pasting
formed 'u"chain"', an invalid preprocessing token
            if (opt == UNICODE_STRING("chain", 5)) {
                       ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:550:31: error: pasting
formed 'u"LBCMNoChain"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("LBCMNoChain", 11)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:552:31: error: pasting
formed 'u"forward"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("forward", 7)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:554:31: error: pasting
formed 'u"reverse"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("reverse", 7)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:556:31: error: pasting
formed 'u"safe_forward"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("safe_forward", 12)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:558:31: error: pasting
formed 'u"safe_reverse"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("safe_reverse", 12)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:560:31: error: pasting
formed 'u"lookAheadHardBreak"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("lookAheadHardBreak", 18)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:562:31: error: pasting
formed 'u"quoted_literals_only"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("quoted_literals_only", 20)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
/path/to/icu-src/source/common/rbbiscan.cpp:564:31: error: pasting
formed 'u"unquoted_literals"', an invalid preprocessing token
            } else if (opt == UNICODE_STRING("unquoted_literals",  17)) {
                              ^
/path/to/icu-src/source/common/unicode/unistr.h:113:65: note: expanded
from macro 'UNICODE_STRING'
# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
                                                                ^
9 errors generated.

Mojca


More information about the tlbuild mailing list