bidi.h: 'UnicodeString' does not name a type

Bug #1760581 reported by kaputtnik
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
High
Unassigned

Bug Description

After updating some packages on my system i get an compile error in both debug and and release builds of current trunk. The error persists also after deleting the build directory:

In file included from /home/kaputtnik/widelands-repo/trunk/src/ui_fsmenu/options.cc:36:0:
/home/kaputtnik/widelands-repo/trunk/src/graphic/text/bidi.h:43:36: error: 'UnicodeString' does not name a type
 std::string icustring2string(const UnicodeString& convertme);
                                    ^~~~~~~~~~~~~
make[2]: *** [src/ui_fsmenu/CMakeFiles/ui_fsmenu_options.dir/build.make:63: src/ui_fsmenu/CMakeFiles/ui_fsmenu_options.dir/options.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:33389: src/ui_fsmenu/CMakeFiles/ui_fsmenu_options.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Upgraded packages (the ones i guess they could cause this error):

[2018-04-01 21:04] [ALPM] upgraded icu (60.2-1 -> 61.1-1)
[2018-04-01 21:04] [ALPM] upgraded boost-libs (1.66.0-1 -> 1.66.0-2)
[2018-04-01 21:04] [ALPM] upgraded boost (1.66.0-1 -> 1.66.0-2)

Full output of configure is attached.

Related branches

Revision history for this message
kaputtnik (franku) wrote :
Revision history for this message
GunChleoc (gunchleoc) wrote :

It's still in the same header: https://ssl.icu-project.org/apiref/icu4c/classicu_1_1UnicodeString.html

So this needs some digging into.

tags: added: internationalization
Changed in widelands:
milestone: none → build20-rc1
importance: Undecided → High
Revision history for this message
kaputtnik (franku) wrote :

The attached branch compiles fine here again. All i did was to add icu:: to the UnicodeString

https://bazaar.launchpad.net/~widelands-dev/widelands/bug_1760581-fix-UnicodeString/revision/8640#src/graphic/text/bidi.h

Revision history for this message
GunChleoc (gunchleoc) wrote :

Found it: "C++ call sites need to qualify ICU types explicitly, for example icu::UnicodeString, or do using icu::UnicodeString; where appropriate. If your code relies on the "using namespace icu;" that used to be in unicode/uversion.h, then you need to update your code."

http://site.icu-project.org/download/61#TOC-Migration-Issues

Changed in widelands:
assignee: nobody → GunChleoc (gunchleoc)
status: New → In Progress
Revision history for this message
GunChleoc (gunchleoc) wrote :

Can you try if the attached branch fixes it?

Revision history for this message
kaputtnik (franku) wrote :

Since it is the same change that i did prior: Yes it compiles fine now, see #3 ;)

Revision history for this message
GunChleoc (gunchleoc) wrote :

You won the race then :)

I have deleted my branch and put yours up for review. I'll learn to refresh my browser next time.

Changed in widelands:
status: In Progress → Fix Committed
assignee: GunChleoc (gunchleoc) → nobody
Revision history for this message
kaputtnik (franku) wrote :

*lol*

But you got the explanation ;)

Revision history for this message
GunChleoc (gunchleoc) wrote :

Fixed in build20-rc1

Changed in widelands:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.