[sword-devel] Sword library: Compiler errors with newer version of ICU (63) on Ubuntu 19.04

Tobias Klein contact at tklein.info
Sat Jun 15 15:32:56 EDT 2019


Hi,

While building Ezra Project packages for Ubuntu 19.04 including a 
statically linked version of Sword I ran into compile time problems. The 
problems were related to the ICU library.

I'm using libicu-dev (ICU 63): https://packages.ubuntu.com/disco/libicu-dev

The errors are all the same and caused by UnicodeString type that cannot 
be identified as a type.

Example:

In file included from 
/tmp/node-sword-interface-git/sword/src/mgr/swmgr.cpp:108:
/tmp/node-sword-interface-git/sword/include/utf8transliterator.h:53:2: 
error: 'UnicodeString' does not name a type
   UnicodeString resource;

The issue can be fixed by prepending a "icu::" namespace identifier in 
front of the UnicodeString (like icu::UnicodeString) or by just adding 
statement in the beginning "using namespace icu;".
I've been patching my Sword checkout using the "using namespace icu;" 
fix in the corresponding files, see attached patch.

This does not cause problems with an earlier ICU version (like 60.2 on 
Ubuntu 18.04 LTS), so it may just be included in the Sword sources?

Best regards,
Tobias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sword_icu.patch
Type: text/x-patch
Size: 1315 bytes
Desc: not available
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20190615/516d3392/attachment.bin>


More information about the sword-devel mailing list