Protobuf? libc? problem after dist-upgrade in debian sid

For all the help you need with Armagetron!
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Hi,

regardless of the GCC 5 transition in debian sid, I made a system update today. I could resolve/fix all broken dependencies and my system is running fine again (phew!).
But I cannot start nor compile armagetron. When I try to run the binary I get the following output:

Code: Select all

$ ./armagetronad
armagetronad: symbol lookup error: ~/arma/builds/0.4/bin/armagetronad: undefined symbol: _ZN6google8protobuf8internal13empty_string_E
I then tried to recompile from source. No problem there but make run gives an error:

Code: Select all

$ make run
... snip ...
test -r armagetronad || ln -sf src/armagetronad_main armagetronad
ln -sf ./src/doc .
./armagetronad
*** Error in `./armagetronad': free(): invalid size: 0x000000000232b1a0 ***
Makefile:1365: recipe for target 'run' failed
make: *** [run] Aborted
I guess this is some protobuf error? So here some infos to my installed protobuf libs:

Code: Select all

libprotobuf-dev:
  Installed: 2.6.1-1.3
  Candidate: 2.6.1-1.3
  Version table:
 *** 2.6.1-1.3 0
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status

libprotobuf8:
  Installed: 2.5.0-9
  Candidate: 2.5.0-9
  Version table:
 *** 2.5.0-9 0
        100 /var/lib/dpkg/status

libprotobuf-lite9v5:
  Installed: 2.6.1-1.3
  Candidate: 2.6.1-1.3
  Version table:
 *** 2.6.1-1.3 0
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status

libprotobuf9v5:
  Installed: 2.6.1-1.3
  Candidate: 2.6.1-1.3
  Version table:
 *** 2.6.1-1.3 0
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status

libprotobuf-c1:
  Installed: 1.0.2-1+b1
  Candidate: 1.0.2-1+b1
  Version table:
 *** 1.0.2-1+b1 0
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status

libprotobuf-lite8:
  Installed: 2.5.0-9
  Candidate: 2.5.0-9
  Version table:
 *** 2.5.0-9 0
        100 /var/lib/dpkg/status
How can I fix this?

Thanks for your help!
Last edited by Jip on Tue Sep 08, 2015 1:49 pm, edited 1 time in total.
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Protobuf problem after dist-upgrade in debian sid

Post by Light »

Did you run the configure script again? It may even help to just grab a fresh source for it.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf problem after dist-upgrade in debian sid

Post by Jip »

Yea, trying now to make clean first.

EDIT:
Frech bzr checkout, ./bootstrap.sh, ./configure, make, make run
Still the same problem
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Here is a gdb output, if that helps...

Code: Select all

$ LANG=C gdb ./src/armagetronad_main 
Reading symbols from ./src/armagetronad_main...done.
Breakpoint 1 at 0x615490
(gdb) run
Starting program: ~/arma/sources/0.4/src/armagetronad_main 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
*** Error in `~/arma/sources/0.4/src/armagetronad_main': free(): invalid size: 0x0000000000b00bf0 ***

Program received signal SIGABRT, Aborted.
0x00007ffff4bd2107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) backtrace 
#0  0x00007ffff4bd2107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4bd34e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff4c10214 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff4c159ee in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff4c166f6 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x000000000060f869 in tPath::Open(std::basic_ifstream<char, std::char_traits<char> >&, char const*) const ()
#6  0x0000000000615f8c in tLocaleItem::Load(char const*, bool) ()
#7  0x000000000061777c in tLocale::Load(char const*) ()
#8  0x0000000000411385 in main ()
When I configure with DEBUGLEVEL=2, munmap_chunk() seems to be the problem:

Code: Select all

*** Error in `~/arma/sources/0.4/src/armagetronad_main': munmap_chunk(): invalid pointer: 0x0000000001143760 ***

Program received signal SIGABRT, Aborted.
0x00007ffff4b60107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
EDIT: added backtrace
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Z-Man »

We're not doing any manual memory management in tPath::Open, the last bit of our code in the backtrace, so it's not the code's fault (probably). Hmm.

Can you post the output of "ldd ./src/armagetronad_main"? I suspect the crashes come from different versions of the C++ libraries getting linked.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Code: Select all

$ ldd ./src/armagetronad_main
        linux-vdso.so.1 (0x00007ffcbb12a000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe2061db000)
        libSDL_image-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0 (0x00007fe205fbc000)
        libGLEW.so.1.10 => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10 (0x00007fe205d2f000)
        libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fe205ac1000)
        libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fe205829000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe2054e5000)
        libSDL_mixer-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL_mixer-1.2.so.0 (0x00007fe205293000)
        libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x00007fe204ff7000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe204dee000)
        libprotobuf.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 (0x00007fe204ac4000)
        libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fe204709000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fe2044e1000)
        libftgl.so.2 => /usr/lib/x86_64-linux-gnu/libftgl.so.2 (0x00007fe2042b6000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe20400b000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe203def000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe203a74000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe203773000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe20355c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe2031b3000)
        /lib64/ld-linux-x86-64.so.2 (0x0000556a1b0bc000)
        libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007fe202f5a000)
        libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe202ce4000)
        libwebp.so.5 => /usr/lib/x86_64-linux-gnu/libwebp.so.5 (0x00007fe202a84000)
        libXmu.so.6 => /usr/lib/x86_64-linux-gnu/libXmu.so.6 (0x00007fe20286b000)
        libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fe20265a000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fe202448000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe20221f000)
        libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fe201ff0000)
        libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fe201ded000)
        libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fe201be7000)
        libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fe2019e4000)
        libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fe2017cb000)
        libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fe2015c6000)
        libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fe2013c2000)
        libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fe2011bf000)
        libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fe200fb8000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe200d95000)
        libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fe200b92000)                                                                               
        libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fe20098c000)
        libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fe20077d000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe200579000)
        libmikmod.so.3 => /usr/lib/x86_64-linux-gnu/libmikmod.so.3 (0x00007fe200335000)
        libfluidsynth.so.1 => /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1 (0x00007fe200058000)
        libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007fe1ffe4f000)
        libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007fe1ffbd8000)
        libmad.so.0 => /usr/lib/x86_64-linux-gnu/libmad.so.0 (0x00007fe1ff9b8000)
        libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fe1ff6bd000)
        libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007fe1ff4b7000)
        libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007fe1ff267000)
        libdirectfb-1.2.so.9 => /usr/lib/x86_64-linux-gnu/libdirectfb-1.2.so.9 (0x00007fe1fefe2000)
        libfusion-1.2.so.9 => /usr/lib/x86_64-linux-gnu/libfusion-1.2.so.9 (0x00007fe1fedd7000)
        libdirect-1.2.so.9 => /usr/lib/x86_64-linux-gnu/libdirect-1.2.so.9 (0x00007fe1febbf000)
        libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007fe1fe8f3000)
        libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007fe1fe48f000)
        libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007fe1fe0fb000)
        libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007fe1fc644000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fe1fc420000)
        libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fe1fc211000)
        libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007fe1fbfa7000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe1fbda3000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fe1fbb9c000)
        libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007fe1fb92c000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe1fb61c000)
        libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007fe1fb3d3000)
        libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007fe1fb169000)
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fe1faf1f000)
        libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007fe1facd5000)
        libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fe1faaa8000)
        libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fe1fa89e000)
        libpulsecommon-6.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-6.0.so (0x00007fe1fa620000)
        libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fe1fa419000)
        libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007fe1fa20e000)
        libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007fe1f9e7d000)
        libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007fe1f9c4d000)
        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fe1f9a23000)
        libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fe1f981a000)
        libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fe1f95fd000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe1f938e000)
        libopus.so.0 => /usr/lib/x86_64-linux-gnu/libopus.so.0 (0x00007fe1f9145000)
        libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fe1f8e92000)
        libXtst.so.6 => /usr/lib/x86_64-linux-gnu/libXtst.so.6 (0x00007fe1f8c8b000)
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fe1f8c08000)
        libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fe1f89fd000)
        libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007fe1f87f6000)
        libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007fe1f85f1000)
        libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fe1f83eb000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fe1f81c6000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe1f7fae000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fe1f7ccc000)
        libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fe1f7ab4000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fe1f78a0000)
At the moment debian unstable (sid) has an ongoing transition for GCC5. More info here: https://wiki.debian.org/GCC5

EDIT:
I guess it has something to do with the new default ABI? This looks helpfull, but I will try tomorrow. Too tired now...
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Z-Man »

Ah, they're putting two ABIs into one library? Odd choice, but I suppose they somehow made it so that the two are data compatible. Yeah, try the -Wabi-tag compiler flag.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Now it compiles with a lot of warnings like this:

Code: Select all

ar: `u' modifier ignored since `D' is the default (see `U')
In file included from ./tron/zone/zShape.h:11:0,
                 from ./tron/gParser.h:21,
                 from tron/zone/zFortress.cpp:35:
./tools/tPolynomial.h:106:25: warning: ‘virtual std::__cxx11::string tPolynomial::toString() const’ inherits the "cxx11" ABI tag that ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ (used in its return type) has [-Wabi-tag]
     virtual std::string toString() const;
                         ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from ./defs.h:138,
                 from ./engine/eFloor.h:31,
                 from tron/zone/zFortress.cpp:30:
/usr/include/c++/5/bits/basic_string.h:71:11: note: ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ declared here
     class basic_string
           ^
But 'make run' gives the same error:

Code: Select all

*** Error in `./armagetronad': free(): invalid size: 0x0000000001b2a140 ***
Makefile:1364: recipe for target 'run' failed
make: *** [run] Aborted
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Yay, double post!

I tried compiling with:

Code: Select all

CC=gcc-4.9 CXX=g++-4.9
But then I get a lot of 'undefined reference' errors for protobuf like this:

Code: Select all

protobuf/libprotobuf.a(libprotobuf_a-nNetwork.pb.o):(.rodata._ZTVN7Network15EncodingOptionsE[_ZTVN7Network15EncodingOptionsE]+0x20): undefined reference to `google::protobuf::Message::GetTypeName() const'
I guess I should link to another protobuf version also compiled with gcc-4.9? Or am I wrong? How can I link to a specific version of libs?

Argh, so many days without tron! :P
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Z-Man »

Jip wrote:I guess I should link to another protobuf version also compiled with gcc-4.9? Or am I wrong? How can I link to a specific version of libs?
Yeah, you'd need a gcc-4.9 protobuf then.

The warnings on 5.0 would be the hints at ABI problems; the root cause is that we derive tString from std::string, one of the classes affected by the ABI change, and they write that tString can't have the ABI version reflected in its type then. So... umm... beats me. There seems to be a way to pick the ABI version via #defines, maybe try fixing it to the one or the other.

What also may work is if you explicitly state the C++ standard to use; the code is for 03, but should work with 11.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Hmm, I just tried a 'make install' and running the binary from there. Sometimes it works, sometimes it segfaults at random places. Mostly when I load the server list but sometimes it lets me join a server and segfaults after a couple of time playing.

Here is a backtrace from when it segfaults loading the server list:

Code: Select all

(gdb) run
Starting program: ~/arma/builds/0.4/bin/armagetronad 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Command CAMERA_GLANCE_BACK unknown.

Command CAMERA_GLANCE_RISE unknown.

Command CAMERA_GLANCE_BACK_FROMSPEED unknown.

Command CAMERA_GLANCE_RISE_FROMSPEED unknown.

Command CAMERA_GLANCE_PITCH unknown.

[New Thread 0x7fffe2131700 (LWP 9438)]
[Thread 0x7fffe2131700 (LWP 9438) exited]
[New Thread 0x7fffe2131700 (LWP 9439)]
[New Thread 0x7fffe0a2d700 (LWP 9440)]
[New Thread 0x7fffdbfff700 (LWP 9441)]
[New Thread 0x7fffdb7fe700 (LWP 9442)]
[New Thread 0x7fffdaffd700 (LWP 9443)]
[New Thread 0x7fffda7fc700 (LWP 9444)]
[New Thread 0x7fffd9ffb700 (LWP 9445)]
[New Thread 0x7fffd97fa700 (LWP 9446)]
[New Thread 0x7fffd8ff9700 (LWP 9447)]
[New Thread 0x7fffb7fff700 (LWP 9448)]
[New Thread 0x7fffb77fe700 (LWP 9449)]
[New Thread 0x7fffb6ffd700 (LWP 9450)]
[New Thread 0x7fffb67fc700 (LWP 9451)]
[New Thread 0x7fffb5ffb700 (LWP 9452)]
[New Thread 0x7fffb57fa700 (LWP 9453)]
[New Thread 0x7fffb4ff9700 (LWP 9454)]
[New Thread 0x7fff97fff700 (LWP 9455)]
[New Thread 0x7fff977fe700 (LWP 9456)]
[New Thread 0x7fff96ffd700 (LWP 9457)]
[New Thread 0x7fff967fc700 (LWP 9458)]
[New Thread 0x7fff95ffb700 (LWP 9459)]
[New Thread 0x7fff957fa700 (LWP 9460)]
[New Thread 0x7fff94ff9700 (LWP 9461)]
[New Thread 0x7fff77fff700 (LWP 9462)]
[New Thread 0x7fff777fe700 (LWP 9463)]
[New Thread 0x7fff76ffd700 (LWP 9464)]
[New Thread 0x7fff767fc700 (LWP 9465)]
[New Thread 0x7fff75ffb700 (LWP 9466)]
[New Thread 0x7fff757fa700 (LWP 9467)]
[New Thread 0x7fff74ff9700 (LWP 9468)]
[New Thread 0x7fff57fff700 (LWP 9469)]
[New Thread 0x7fff577fe700 (LWP 9470)]
[New Thread 0x7fff56ffd700 (LWP 9471)]
[New Thread 0x7fff567fc700 (LWP 9472)]
[New Thread 0x7fff55ffb700 (LWP 9473)]
[New Thread 0x7fff557fa700 (LWP 9474)]
[New Thread 0x7fff54ff9700 (LWP 9475)]
[New Thread 0x7fff4ffff700 (LWP 9476)]
[New Thread 0x7fff4f7fe700 (LWP 9477)]
[New Thread 0x7fff4effd700 (LWP 9478)]
[New Thread 0x7fff4e7fc700 (LWP 9479)]
[New Thread 0x7fff4dffb700 (LWP 9480)]
[New Thread 0x7fff4d7fa700 (LWP 9481)]
[New Thread 0x7fff4cff9700 (LWP 9482)]
[New Thread 0x7fff4c7f8700 (LWP 9483)]
[New Thread 0x7fff4bff7700 (LWP 9484)]
[New Thread 0x7fff4b7f6700 (LWP 9485)]
[New Thread 0x7fff4aff5700 (LWP 9486)]
[New Thread 0x7fff4a7f4700 (LWP 9487)]
[New Thread 0x7fff49ff3700 (LWP 9488)]
[New Thread 0x7fff497f2700 (LWP 9489)]
[Thread 0x7fffda7fc700 (LWP 9444) exited]
[Thread 0x7fffb6ffd700 (LWP 9450) exited]
[Thread 0x7fffb5ffb700 (LWP 9452) exited]
[Thread 0x7fffb57fa700 (LWP 9453) exited]
[Thread 0x7fffdbfff700 (LWP 9441) exited]
[Thread 0x7fffb4ff9700 (LWP 9454) exited]
[Thread 0x7fffd8ff9700 (LWP 9447) exited]
[Thread 0x7fffd97fa700 (LWP 9446) exited]
[Thread 0x7fffb7fff700 (LWP 9448) exited]
[Thread 0x7fffb77fe700 (LWP 9449) exited]
[Thread 0x7fff977fe700 (LWP 9456) exited]
[Thread 0x7fffdaffd700 (LWP 9443) exited]
[Thread 0x7fffdb7fe700 (LWP 9442) exited]
[Thread 0x7fff95ffb700 (LWP 9459) exited]
[Thread 0x7fff967fc700 (LWP 9458) exited]
[Thread 0x7fff96ffd700 (LWP 9457) exited]
[Thread 0x7fffe0a2d700 (LWP 9440) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5cb0818 in FTCharmap::GlyphListIndex(unsigned int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
(gdb) step
Single stepping until exit from function _ZN9FTCharmap14GlyphListIndexEj,
which has no line number information.
[Thread 0x7fffe2131700 (LWP 9439) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5cb0818 in FTCharmap::GlyphListIndex(unsigned int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
(gdb) backtrace
#0  0x00007ffff5cb0818 in FTCharmap::GlyphListIndex(unsigned int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#1  0x00007ffff5cb2b3d in FTGlyphContainer::Glyph(unsigned int) const () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#2  0x00007ffff5cb2bf6 in FTGlyphContainer::Advance(unsigned int, unsigned int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#3  0x00007ffff5cb8533 in FTFontImpl::Advance(char const*, int, FTPoint) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#4  0x00000000005e6e35 in rTextField::StringOutput(char const*, rTextField::ColorMode) ()
#5  0x00000000005e333d in rConsole::Render() ()
#6  0x00000000005e34f6 in sr_ConsolePerFrame() ()
#7  0x0000000000602263 in tCallback::Exec(tCallback*) ()
#8  0x00000000005ef19e in rPerFrameTask::DoPerFrameTasks() ()
#9  0x00000000005f4c2d in rSysDep::SwapGL() ()
#10 0x00000000005e2a6f in rConsole::DisplayAtNewline() ()
#11 0x00000000005e2356 in rConsole::DoPrint(tString const&) ()
#12 0x000000000060a04a in tConsole::PrintLine(tString const&, int) ()
#13 0x000000000060a353 in tConsole::Print(tString const&) ()
#14 0x0000000000437ff2 in tConsole& tConsole::operator<< <tOutput>(tOutput const&) ()
#15 0x00000000005a2a46 in sn_SetNetState(nNetState) ()
#16 0x00000000005a7f70 in sn_Connect(nAddress const&, nLoginType, nSocket const*) ()
#17 0x00000000005b9aad in nServerInfoBase::Connect(nLoginType, nSocket const*) ()
#18 0x00000000005bbcf7 in nServerInfo::GetFromMaster(nServerInfoBase*, char const*, bool) ()
#19 0x00000000004b5036 in gServerBrowser::BrowseSpecialMaster(nServerInfoBase*, char const*) ()
#20 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#21 0x00000000005ddf73 in uMenu::OnEnter() ()
#22 0x000000000047577f in net_game() ()
#23 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#24 0x00000000005ddf73 in uMenu::OnEnter() ()
#25 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#26 0x00000000005ddf73 in uMenu::OnEnter() ()
#27 0x000000000047a64a in MainMenu(bool) ()
#28 0x000000000041199e in main ()
I can't get it to work :(
Has anyone else tried compiling and running it with gcc5?
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Z-Man wrote:There seems to be a way to pick the ABI version via #defines, maybe try fixing it to the one or the other.

What also may work is if you explicitly state the C++ standard to use; the code is for 03, but should work with 11.
Could you explain that more detailed please? I am still stuck and can't figure it out. Searching the internet gives so many topics about that, but none seems to handle my case. Thank you very much for your help btw.
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by kyle »

you need to insert a flag "-std=c++03" or "-std=c++11" for gcc to use
Image
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Z-Man »

Yeah, that. It goes to CXXFLAGS, so configure with

Code: Select all

./configure CXXFLAGS=-std=c++11
Expect a couple of warnings. The debugging memory manager is the only bit failing to compile on c++11, I'll fix that. It should not affect you.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Protobuf? libc? problem after dist-upgrade in debian sid

Post by Jip »

Z-Man wrote:Yeah, that. It goes to CXXFLAGS, so configure with

Code: Select all

./configure CXXFLAGS=-std=c++11
Expect a couple of warnings. The debugging memory manager is the only bit failing to compile on c++11, I'll fix that. It should not affect you.
Gives a bunch of warnings (mostly deprecated warnings) and this errors:

Code: Select all

tron/zone/zEffector.cpp: In static member function ‘static void zEffectorManager::Register(const string&, const string&, zEffectorManager::NullFactory_t)’:
tron/zone/zEffector.cpp:166:65: error: no matching function for call to ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >::insert(std::pair<std::__cxx11::basic_string<char>, zEffectorManager::NullFactory*>)’
     _effectors().insert(std::make_pair(type, new NullFactory(f)));
                                                                 ^
In file included from /usr/include/c++/5/map:61:0,
                 from ./tools/tConfiguration.h:42,
                 from ./ui/uInput.h:35,
                 from ./engine/ePlayer.h:39,
                 from tron/zone/zEffector.h:37,
                 from tron/zone/zEffector.cpp:28:
/usr/include/c++/5/bits/stl_map.h:612:7: note: candidate: std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >]
       insert(const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_map.h:612:7: note:   no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::NullFactory*>’ to ‘const value_type& {aka const std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >&}’
/usr/include/c++/5/bits/stl_map.h:620:9: note: candidate: template<class _Pair, class> std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(_Pair&& __x)
         ^
/usr/include/c++/5/bits/stl_map.h:620:9: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_map.h:616:32: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<typename _Pair, typename = typename
                                ^
/usr/include/c++/5/bits/stl_map.h:633:7: note: candidate: void std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
       insert(std::initializer_list<value_type> __list)
       ^
/usr/include/c++/5/bits/stl_map.h:633:7: note:   no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::NullFactory*>’ to ‘std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >’
/usr/include/c++/5/bits/stl_map.h:662:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >]
       insert(const_iterator __position, const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_map.h:662:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/5/bits/stl_map.h:673:9: note: candidate: template<class _Pair, class> std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(const_iterator __position, _Pair&& __x)
         ^
/usr/include/c++/5/bits/stl_map.h:673:9: note:   template argument deduction/substitution failed:
tron/zone/zEffector.cpp:166:39: note:   cannot convert ‘std::make_pair(_T1&&, _T2&&) [with _T1 = const std::__cxx11::basic_string<char>&; _T2 = zEffectorManager::NullFactory*; typename std::__decay_and_strip<_T2>::__type = zEffectorManager::NullFactory*; typename std::__decay_and_strip<_Tp>::__type = std::__cxx11::basic_string<char>]((operator new(16ul), (<statement>, ((zEffectorManager::NullFactory*)<anonymous>))))’ (type ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::NullFactory*>’) to type ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >}’
     _effectors().insert(std::make_pair(type, new NullFactory(f)));
                                       ^
In file included from /usr/include/c++/5/map:61:0,
                 from ./tools/tConfiguration.h:42,
                 from ./ui/uInput.h:35,
                 from ./engine/ePlayer.h:39,
                 from tron/zone/zEffector.h:37,
                 from tron/zone/zEffector.cpp:28:
/usr/include/c++/5/bits/stl_map.h:688:9: note: candidate: template<class _InputIterator> void std::map<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(_InputIterator __first, _InputIterator __last)
         ^
/usr/include/c++/5/bits/stl_map.h:688:9: note:   template argument deduction/substitution failed:
tron/zone/zEffector.cpp:166:65: note:   candidate expects 2 arguments, 1 provided
     _effectors().insert(std::make_pair(type, new NullFactory(f)));
                                                                 ^
tron/zone/zEffector.cpp: In static member function ‘static void zEffectorManager::Register(const string&, const string&, zEffectorManager::XMLFactory_t)’:
tron/zone/zEffector.cpp:171:64: error: no matching function for call to ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >::insert(std::pair<std::__cxx11::basic_string<char>, zEffectorManager::XMLFactory*>)’
     _effectors().insert(std::make_pair(type, new XMLFactory(f)));
                                                                ^
In file included from /usr/include/c++/5/map:61:0,
                 from ./tools/tConfiguration.h:42,
                 from ./ui/uInput.h:35,
                 from ./engine/ePlayer.h:39,
                 from tron/zone/zEffector.h:37,
                 from tron/zone/zEffector.cpp:28:
/usr/include/c++/5/bits/stl_map.h:612:7: note: candidate: std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >]
       insert(const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_map.h:612:7: note:   no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::XMLFactory*>’ to ‘const value_type& {aka const std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >&}’
/usr/include/c++/5/bits/stl_map.h:620:9: note: candidate: template<class _Pair, class> std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(_Pair&& __x)
         ^
/usr/include/c++/5/bits/stl_map.h:620:9: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_map.h:616:32: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<typename _Pair, typename = typename
                                ^
/usr/include/c++/5/bits/stl_map.h:633:7: note: candidate: void std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
       insert(std::initializer_list<value_type> __list)
       ^
/usr/include/c++/5/bits/stl_map.h:633:7: note:   no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::XMLFactory*>’ to ‘std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >’
/usr/include/c++/5/bits/stl_map.h:662:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >]
       insert(const_iterator __position, const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_map.h:662:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/5/bits/stl_map.h:673:9: note: candidate: template<class _Pair, class> std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(const_iterator __position, _Pair&& __x)
         ^
/usr/include/c++/5/bits/stl_map.h:673:9: note:   template argument deduction/substitution failed:
tron/zone/zEffector.cpp:171:39: note:   cannot convert ‘std::make_pair(_T1&&, _T2&&) [with _T1 = const std::__cxx11::basic_string<char>&; _T2 = zEffectorManager::XMLFactory*; typename std::__decay_and_strip<_T2>::__type = zEffectorManager::XMLFactory*; typename std::__decay_and_strip<_Tp>::__type = std::__cxx11::basic_string<char>]((operator new(16ul), (<statement>, ((zEffectorManager::XMLFactory*)<anonymous>))))’ (type ‘std::pair<std::__cxx11::basic_string<char>, zEffectorManager::XMLFactory*>’) to type ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >}’
     _effectors().insert(std::make_pair(type, new XMLFactory(f)));
                                       ^
In file included from /usr/include/c++/5/map:61:0,
                 from ./tools/tConfiguration.h:42,
                 from ./ui/uInput.h:35,
                 from ./engine/ePlayer.h:39,
                 from tron/zone/zEffector.h:37,
                 from tron/zone/zEffector.cpp:28:
/usr/include/c++/5/bits/stl_map.h:688:9: note: candidate: template<class _InputIterator> void std::map<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<zEffectorManager::VoidFactoryBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<zEffectorManager::VoidFactoryBase> > >]
         insert(_InputIterator __first, _InputIterator __last)
         ^
/usr/include/c++/5/bits/stl_map.h:688:9: note:   template argument deduction/substitution failed:
tron/zone/zEffector.cpp:171:64: note:   candidate expects 2 arguments, 1 provided
     _effectors().insert(std::make_pair(type, new XMLFactory(f)));
                                                                ^
Makefile:3900: recipe for target 'tron/zone/libtron_a-zEffector.o' failed
make[3]: *** [tron/zone/libtron_a-zEffector.o] Error 1
make[3]: *** Warte auf noch nicht beendete Prozesse...
mv -f ui/.deps/libui_a-uInput.Tpo ui/.deps/libui_a-uInput.Po
make[3]: Leaving directory '/home/arma/sources/0.4_eh/src'
Makefile:4163: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/arma/sources/0.4_eh/src'
Makefile:767: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/arma/sources/0.4_eh'
Makefile:559: recipe for target 'all' failed
make: *** [all] Error 2
Post Reply