[sword-devel] ICU related errors to compile

Peter von Kaehne refdoc at crosswire.org
Wed Nov 28 09:33:08 MST 2018


Following a recent system update I can not compile Sword anymore. 

I checked out a clean svn repo to ensure it is not something I had done
to my system. Here is the make log at the relevant part


In file included from ../src/mgr/swmgr.cpp:108:
../include/utf8transliterator.h:53:2: error: ‘UnicodeString’ does not
name a type
  UnicodeString resource;
  ^~~~~~~~~~~~~
../include/utf8transliterator.h:56:24: error: ISO C++ forbids
declaration of ‘type name’ with no type [-fpermissive]
 typedef std::map<const UnicodeString, SWTransData> SWTransMap;
                        ^~~~~~~~~~~~~
../include/utf8transliterator.h:56:50: error: wrong number of template
arguments (1, should be at least 2)
 typedef std::map<const UnicodeString, SWTransData> SWTransMap;
                                                  ^
In file included from /usr/include/c++/8/map:61,
                 from ../include/swmgr.h:60,
                 from ../src/mgr/swmgr.cpp:33:
/usr/include/c++/8/bits/stl_map.h:100:11: note: provided for
‘template<class _Key, class _Tp, class _Compare, class _Alloc> class
std::map’
     class map
           ^~~
In file included from ../src/mgr/swmgr.cpp:108:
../include/utf8transliterator.h:57:19: error: ‘UnicodeString’ was not
declared in this scope
 typedef std::pair<UnicodeString, SWTransData> SWTransPair;
                   ^~~~~~~~~~~~~
../include/utf8transliterator.h:57:19: note: suggested alternative:
In file included from ../include/utf8transliterator.h:41,
                 from ../src/mgr/swmgr.cpp:108:
/usr/include/unicode/unistr.h:289:20: note:   ‘icu_63::UnicodeString’
 class U_COMMON_API UnicodeString : public Replaceable
                    ^~~~~~~~~~~~~
In file included from ../src/mgr/swmgr.cpp:108:
../include/utf8transliterator.h:57:45: error: template argument 1 is
invalid
 typedef std::pair<UnicodeString, SWTransData> SWTransPair;
                                             ^
../include/utf8transliterator.h:84:2: error: ‘Transliterator’ does not
name a type; did you mean ‘UTransliterator’?
  Transliterator *createTrans(const UnicodeString& ID, UTransDirection
dir, UErrorCode &status);
  ^~~~~~~~~~~~~~
  UTransliterator
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../incl




More information about the sword-devel mailing list