0.8.0 does not compile

If you found a bug in our library or on our website, please report it in this section. In this forum you can also make concrete suggestions or feature requests.

Moderators: CEGUI MVP, CEGUI Team

OlliL
Just popping in
Just popping in
Posts: 3
Joined: Wed May 29, 2013 06:30

0.8.0 does not compile

Postby OlliL » Wed May 29, 2013 06:35

Hi,

CEGUI 0.8.0 is not compileable because of an error in IconvStringTranscoder.cpp

Code: Select all

[ 17%] Building CXX object cegui/src/CMakeFiles/CEGUIBase-0.dir/IconvStringTranscoder.cpp.o
cd /work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/src && /usr/local/bin/g++47   -DCEGUIBASE_EXPORTS -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc47 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc47 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc47 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc47 -fPIC -I/work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/include -I/usr/local/include -I/usr/local/include/freetype2 -o CMakeFiles/CEGUIBase-0.dir/IconvStringTranscoder.cpp.o -c /work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/src/IconvStringTranscoder.cpp
/work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/src/IconvStringTranscoder.cpp: In member function 'size_t CEGUI::IconvHelper::libiconv(const char**, size_t*, char**, size_t*)':
/work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/src/IconvStringTranscoder.cpp:68:44: error: invalid conversion from 'char**' to 'const char**' [-fpermissive]
In file included from /work/a/ports/graphics/cegui/work/cegui-0.8.0/cegui/src/IconvStringTranscoder.cpp:31:0:
/usr/local/include/iconv.h:83:15: error:   initializing argument 2 of 'size_t libiconv(libiconv_t, const char**, size_t*, char**, size_t*)' [-fpermissive]
*** [cegui/src/CMakeFiles/CEGUIBase-0.dir/IconvStringTranscoder.cpp.o] Error code 1


Compiler is gcc-4.7.4, libiconv is 1.14
Greetings, OlliL

PS: I tried to open a mantis bug but I found no way to create an account in your bug tracker there is just no link for it.

User avatar
Kulik
CEGUI Team
Posts: 1382
Joined: Mon Jul 26, 2010 18:47
Location: Czech Republic
Contact:

Re: 0.8.0 does not compile

Postby Kulik » Wed May 29, 2013 09:56

I can't reproduce this anywhere, which distro is it? Could you perhaps try to come up with a patch?

We have Jenkins continuously building on CentOS 6, Fedora 18 and Ubuntu 12.04 LTS. All of them work fine.

EDIT: paths in the compiler outputs suggest BSD.

OlliL
Just popping in
Just popping in
Posts: 3
Joined: Wed May 29, 2013 06:30

Re: 0.8.0 does not compile

Postby OlliL » Thu May 30, 2013 13:18

It is a FreeBSD. The point is probably, that libiconv is used and not the glibc iconv as this does not exist on non-linux systems.
But "invalid conversion from 'char**' to 'const char**'" makes me wonder if this isn't a general problem. Are you sure this part of the code is compiled on your test systems?

OlliL
Just popping in
Just popping in
Posts: 3
Joined: Wed May 29, 2013 06:30

Re: 0.8.0 does not compile

Postby OlliL » Thu May 30, 2013 13:56

this seems to do the trick

Code: Select all

--- cegui/src/IconvStringTranscoder.cpp.orig    2013-05-30 15:28:09.000000000 +0200
+++ cegui/src/IconvStringTranscoder.cpp 2013-05-30 15:28:40.000000000 +0200
@@ -64,7 +64,7 @@
     size_t iconv(const char** inbuf, size_t* inbytesleft,
                  char** outbuf, size_t* outbytesleft)
     {
-        return ::iconv(d_cd, const_cast<char**>(inbuf), inbytesleft,
+        return ::iconv(d_cd, inbuf, inbytesleft,
                        outbuf, outbytesleft);
     }



Return to “Bug Reports, Suggestions, Feature Requests”

Who is online

Users browsing this forum: No registered users and 10 guests