building games-action/openlierox-0.58_rc1 fails on ~amd64 no-multilib: In file included from /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/CFont.h:25:0, from /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/LieroX.h:27, from /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/src/client/DeprecatedGUI/CGuiSkin.cpp:17: /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/Unicode.h:161:33: error: ‘UnicodeString’ does not name a type /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/Unicode.h:161:48: error: ISO C++ forbids declaration of ‘str’ with no type /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/Unicode.h:162:1: error: reference to ‘UnicodeString’ is ambiguous /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/Unicode.h:18:40: error: candidates are: typedef class std::basic_string<unsigned int> UnicodeString /usr/include/unicode/unistr.h:188:1: error: class icu_46::UnicodeString /var/tmp/portage/games-action/openlierox-0.58_rc1/work/OpenLieroX/./include/Unicode.h:162:1: error: ‘UnicodeString’ does not name a type Reproducible: Always
Created attachment 266637 [details] build.log
Albert, any ideas?
Yea. Looks like /usr/include/unicode/unistr.h defines also some UnicodeString. I wonder why that file is included at all and where it belongs to (well, looks like ICU). Certainly not included directly by OLX. As far as I remember, we don't really use the UnicodeString typedef in OLX that much (or at all). Should be easy to clean that up.
I just checked the 0.59 sources and I guess 0.58 is similar: UnicodeString is not really used. The only occurrences are the typedef itself and the functions: std::string UnicodeToUtf8(const UnicodeString& str); UnicodeString Utf8ToUnicode(const std::string& str); Just removing them (from Unicode.{h,cpp}) should fix the problem.
These functions are not used at all? Can you make a patch for me?
Created attachment 266863 [details, diff] rename-UnicodeString-to-Unicode32String patch Here you are. :)
Many thanks! Märt, please try openlierox-0.58_rc1-r1 and re-open this bug as needed. +*openlierox-0.58_rc1-r1 (22 Mar 2011) + + 22 Mar 2011; Sebastian Pipping <sping@gentoo.org> + +openlierox-0.58_rc1-r1.ebuild, +files/openlierox-0.58_rc1-icu.patch: + Apply compilation patch by upstream (Gentoo bug #359655) +
It works now. Many thanks :)