<div dir="ltr"><div dir="ltr">It is not necessary to make code changes to get past this compile issue. At least, not at present.<div><br></div><div>I have this patch[0] that is, as yet, not committed to SVN that fixes the problem in the CMake tree with just a compiler definition. The test should be for ICU &gt; 61, then add this preprocessor definition to CPPFLAGS. I have tested locally that manually setting CPPFLAGS=-DU_USING_ICU_NAMESPACE before calling ./usrinst.sh fixes the problem. Setting autotools to detect this and add the same preprocessor flag would probably be better than adding the namespace directly to our code.</div><div><br></div><div>The benefit to this fix is that it maintains backwards compatibility without need to change the actual source tree. If you work up an autotools fix for it, feel free to make a single commit with my diff as well so we can point packagers to it (myself in Fedora, the Debian packager, and I believe Arch have all faced this without code changes) when they come across this in the future.</div><div><br></div><div>--Greg</div><div><br></div><div>[0] <a href="https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-icu61.diff">https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-icu61.diff</a></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 28, 2018 at 11:34 AM Troy A. Griffitts &lt;<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Yes, I ran into these issues with ICU on the latest fedora. I have a patch (which simply adds the ICU namespace where needed with the new version of ICU) in my local work area but wanted to test that it still works on older versions of ICU before I committed it. I&#39;ll try to commit it today regardless of whether or not I get a chance to test on older distros. Then we can add conditional build checks if needed in the future. <br><br><div class="gmail_quote">On November 28, 2018 10:28:37 AM MST, &quot;<a href="mailto:refdoc@gmx.net" target="_blank">refdoc@gmx.net</a>&quot; &lt;<a href="mailto:refdoc@gmx.net" target="_blank">refdoc@gmx.net</a>&gt; wrote:<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I am, btw on Debian testing<br><br>Sent from my mobile. Please forgive shortness, typos and weird autocorrects.<div class="m_-1979118821991786037quote" style="line-height:1.5"><br><br>-------- Original Message --------<br>Subject: [sword-devel] ICU related errors to compile<br>From: Peter von Kaehne <u></u><br>To: sword-devel <u></u><br>CC: <br><br><br type="attribution"><blockquote class="m_-1979118821991786037quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Following a recent system update I can not compile Sword anymore. <br><br>I checked out a clean svn repo to ensure it is not something I had done<br>to my system. Here is the make log at the relevant part<br><br><br>In file included from ../src/mgr/swmgr.cpp:108:<br>../include/utf8transliterator.h:53:2: error: ‘UnicodeString’ does not<br>name a type<br>  UnicodeString resource;<br>  ^~~~~~~~~~~~~<br>../include/utf8transliterator.h:56:24: error: ISO C++ forbids<br>declaration of ‘type name’ with no type [-fpermissive]<br> typedef std::map<u></u> SWTransMap;<br>                        ^~~~~~~~~~~~~<br>../include/utf8transliterator.h:56:50: error: wrong number of template<br>arguments (1, should be at least 2)<br> typedef std::map<u></u> SWTransMap;<br>                                                  ^<br>In file included from /usr/include/c++/8/map:61,<br>                 from ../include/swmgr.h:60,<br>                 from ../src/mgr/swmgr.cpp:33:<br>/usr/include/c++/8/bits/stl_map.h:100:11: note: provided for<br>‘template<u></u> class<br>std::map’<br>     class map<br>           ^~~<br>In file included from ../src/mgr/swmgr.cpp:108:<br>../include/utf8transliterator.h:57:19: error: ‘UnicodeString’ was not<br>declared in this scope<br> typedef std::pair<u></u> SWTransPair;<br>                   ^~~~~~~~~~~~~<br>../include/utf8transliterator.h:57:19: note: suggested alternative:<br>In file included from ../include/utf8transliterator.h:41,<br>                 from ../src/mgr/swmgr.cpp:108:<br>/usr/include/unicode/unistr.h:289:20: note:   ‘icu_63::UnicodeString’<br> class U_COMMON_API UnicodeString : public Replaceable<br>                    ^~~~~~~~~~~~~<br>In file included from ../src/mgr/swmgr.cpp:108:<br>../include/utf8transliterator.h:57:45: error: template argument 1 is<br>invalid<br> typedef std::pair<u></u> SWTransPair;<br>                                             ^<br>../include/utf8transliterator.h:84:2: error: ‘Transliterator’ does not<br>name a type; did you mean ‘UTransliterator’?<br>  Transliterator *createTrans(const UnicodeString&amp; ID, UTransDirection<br>dir, UErrorCode &amp;status);<br>  ^~~~~~~~~~~~~~<br>  UTransliterator<br>libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../incl<br><br><br>_______________________________________________<br>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>Instructions to unsubscribe/change your settings at above page<u></u><u></u><u></u><u></u><u></u></blockquote><u></u><u></u></div></blockquote></div><br>-- <br>Sent from my Android device with K-9 Mail. Please excuse my brevity.</div>_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div>