Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 359655 - games-action/openlierox-0.58_rc1 build fails: ‘UnicodeString’ does not name a type
Summary: games-action/openlierox-0.58_rc1 build fails: ‘UnicodeString’ does not name a...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal major
Assignee: Sebastian Pipping
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-20 20:16 UTC by Märt Bakhoff
Modified: 2011-03-23 07:18 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,14.94 KB, text/plain)
2011-03-20 20:19 UTC, Märt Bakhoff
Details
rename-UnicodeString-to-Unicode32String patch (0001-rename-UnicodeString-to-Unicode32String.patch,2.43 KB, patch)
2011-03-22 13:47 UTC, Albert Zeyer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Märt Bakhoff 2011-03-20 20:16:48 UTC
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
Comment 1 Märt Bakhoff 2011-03-20 20:19:19 UTC
Created attachment 266637 [details]
build.log
Comment 2 Sebastian Pipping gentoo-dev 2011-03-21 22:31:05 UTC
Albert, any ideas?
Comment 3 Albert Zeyer 2011-03-21 23:02:53 UTC
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.
Comment 4 Albert Zeyer 2011-03-21 23:04:35 UTC
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.
Comment 5 Sebastian Pipping gentoo-dev 2011-03-22 12:57:44 UTC
These functions are not used at all?

Can you make a patch for me?
Comment 6 Albert Zeyer 2011-03-22 13:47:19 UTC
Created attachment 266863 [details, diff]
rename-UnicodeString-to-Unicode32String patch

Here you are. :)
Comment 7 Sebastian Pipping gentoo-dev 2011-03-22 17:56:20 UTC
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)
+
Comment 8 Märt Bakhoff 2011-03-23 07:18:14 UTC
It works now. Many thanks :)