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

For all the help you need with Armagetron!
User avatar
Z-Man
God & Project Admin
Posts: 11369
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 »

Update; I fixed those zEffector errors right after I made the post and realized I had taken my mouth a little too full :)

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 »

I still don't get it to work :(

I tried now with:

CXXFLAGS="-std=c++11 -fabi-version=0"
CXXFLAGS=-std=c++11
CXXFLAGS=-fabi-version=0

I get into the main menu, but as soon I do some networking stuff it segfaults.

Also this works only after "make install". "make run" still fails at start.

Here is a backtrace:

Code: Select all

(gdb) run
Starting program: /home/arma/builds/0.4_eh/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 0x7fffe21c3700 (LWP 21452)]
[Thread 0x7fffe21c3700 (LWP 21452) exited]
[New Thread 0x7fffe21c3700 (LWP 21453)]
[New Thread 0x7fffe08bf700 (LWP 21454)]
[Thread 0x7fffe08bf700 (LWP 21454) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4c17b15 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) backtrace
#0  0x00007ffff4c17b15 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4c186a1 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fffe79885f0 in ?? () from /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1
#3  0x00007fffe798883e in ?? () from /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1
#4  0x00007fffe7f91125 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fffe7f913a2 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#6  0x00007fffe7fa1a96 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#7  0x00007fffe7fa1e53 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#8  0x00007fffe7cdf007 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#9  0x00007fffe7cdf273 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#10 0x00007fffe7cdf6a8 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#11 0x00007ffff5cb7f1f in FTTextureGlyphImpl::FTTextureGlyphImpl(FT_GlyphSlotRec_*, int, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#12 0x00007ffff5cb7fa1 in FTTextureGlyph::FTTextureGlyph(FT_GlyphSlotRec_*, int, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#13 0x00007ffff5cbd54d in FTTextureFontImpl::MakeGlyphImpl(FT_GlyphSlotRec_*) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#14 0x00007ffff5cb8587 in FTFontImpl::CheckGlyph(unsigned int) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#15 0x00007ffff5cb9411 in FTFontImpl::Advance(char const*, int, FTPoint) () from /usr/lib/x86_64-linux-gnu/libftgl.so.2
#16 0x00000000005e6e35 in rTextField::StringOutput(char const*, rTextField::ColorMode) ()
#17 0x00000000005e333d in rConsole::Render() ()
#18 0x00000000005e34f6 in sr_ConsolePerFrame() ()
#19 0x0000000000602263 in tCallback::Exec(tCallback*) ()
#20 0x00000000005ef19e in rPerFrameTask::DoPerFrameTasks() ()
#21 0x00000000005f4c2d in rSysDep::SwapGL() ()
#22 0x00000000005e2a6f in rConsole::DisplayAtNewline() ()
#23 0x00000000005e2356 in rConsole::DoPrint(tString const&) ()
#24 0x000000000060a04a in tConsole::PrintLine(tString const&, int) ()
#25 0x000000000060a353 in tConsole::Print(tString const&) ()
#26 0x000000000045dcfe in nConfItem<float>::NetReadVal(nStreamMessage&) ()
#27 0x0000000000585b98 in nConfItemBase::s_GetConfigStream(nStreamMessage&) ()
#28 0x00000000005a4b4e in nMessageBase::Handle() ()
#29 0x00000000005a53e4 in rec_peer(unsigned int) ()
#30 0x00000000005a8652 in sn_Connect(nAddress const&, nLoginType, nSocket const*) ()
#31 0x00000000005a83ca in sn_Connect(nAddress const&, nLoginType, nSocket const*) ()
#32 0x00000000005b9aad in nServerInfoBase::Connect(nLoginType, nSocket const*) ()
#33 0x0000000000470e81 in ConnectToServerCore(nServerInfoBase*) ()
#34 0x0000000000471565 in ConnectToServer(nServerInfoBase*) ()
#35 0x00000000004c9bad in gServerFavorite::Connect() ()
#36 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#37 0x00000000005ddf73 in uMenu::OnEnter() ()
#38 0x00000000004c94d1 in sg_FavoritesMenu(void (*)(int), gServerFavoritesHolder&) [clone .constprop.36] ()
#39 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#40 0x00000000005ddf73 in uMenu::OnEnter() ()
#41 0x000000000047577f in net_game() ()
#42 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()
#43 0x00000000005ddf73 in uMenu::OnEnter() ()
---Type <return> to continue, or q <return> to quit---
#44 0x00000000005d9492 in uMenu::HandleEvent(SDL_Event) ()                                                                                                                                                                                                                     
#45 0x00000000005ddf73 in uMenu::OnEnter() ()                                                                                                                                                                                                                                  
#46 0x000000000047a64a in MainMenu(bool) ()                                                                                                                                                                                                                                    
#47 0x000000000041199e in main ()

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 »

Sorry, if I am annoying :)
Anybody could provide something to read, that I could try to do the porting to gcc5 myself? Any help appreciated.

Edit:
I just found https://gcc.gnu.org/gcc-5/changes.html

In the "Runtime Library (libstdc++)" section, they write:
A Dual ABI is provided by the library. A new ABI is enabled by default. The old ABI is still supported and can be used by defining the macro _GLIBCXX_USE_CXX11_ABI to 0 before including any C++ standard library headers.
Does it mean, I just have to put #define _GLIBCXX_USE_CXX11_ABI=0 in src/tron/gArmagetron.cpp?

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 »

Well, trying with the CXXFLAG "-D_GLIBCXX_USE_CXX11_ABI=0" gives me the following errors :(

Code: Select all

g++   -I./tools -I./resource -I./thirdparty/mathexpr -I./thirdparty/utf8 -I./protobuf -Iprotobuf  -I./render -I./ui -I./thirdparty/shttpd -I./thirdparty/scrap     -I./network -I./engine -I./engine/sound -I./thirdparty/particles -I./tron -I./tron/cockpit -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -O2 -pthread   -o armagetronad_main tron/armagetronad_main-gFloor.o tron/cockpit/armagetronad_main-cCockpit.o tron/cockpit/armagetronad_main-cMap.o tron/cockpit/armagetronad_main-cCamview.o tron/zone/armagetronad_main-zFortress.o libtron.a libenginecore.a libengine.a libnetwork.a libui.a librender.a libtools.a protobuf/libprotobuf.a thirdparty/mathexpr/libmathexpr.a thirdparty/particles/libparticles.a thirdparty/scrap/libscrap.a -lpthread -lSDL2_image -lGLEW -lGLU -lGL -lX11 -L/usr/X11R6/lib -lSDL2_mixer -L/usr/lib/x86_64-linux-gnu -lSDL2 -lm -lrt -lprotobuf  -lxml2   -lpng12 -lftgl  -L/usr/lib/x86_64-linux-gnu -lfreetype
libtron.a(libtron_a-gArmagetron.o): In function `sg_StartupPlayerMenu()':
gArmagetron.cpp:(.text+0x2136): undefined reference to `tString::tString(std::string const&)'
libtron.a(libtron_a-gArmagetron.o): In function `tString tString::operator+<char [3]>(char const (&) [3]) const':
gArmagetron.cpp:(.text._ZNK7tStringplIA3_cEES_RKT_[_ZNK7tStringplIA3_cEES_RKT_]+0x37): undefined reference to `tString::tString(std::string const&)'
libtron.a(libtron_a-gArmagetron.o): In function `main':
gArmagetron.cpp:(.text.startup+0x762): undefined reference to `tString::tString(std::string const&)'
libtools.a(libtools_a-tDirectories.o): In function `tPathScripts::Paths(tArray<tString, false>&) const':
tDirectories.cpp:(.text+0x2ee): undefined reference to `tString::tString(std::string const&)'
libtools.a(libtools_a-tDirectories.o): In function `tPathResource::Paths(tArray<tString, false>&) const':
tDirectories.cpp:(.text+0x581): undefined reference to `tString::tString(std::string const&)'
libtools.a(libtools_a-tDirectories.o):tDirectories.cpp:(.text+0x646): more undefined references to `tString::tString(std::string const&)' follow
collect2: error: ld returned 1 exit status
Makefile:1566: recipe for target 'armagetronad_main' failed

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 »

Quadruple post!
Nobody an idea? Because I am running out of ideas. I tried using std::__cxx11::list/string instead of std::list/string but that didn't do the trick either.

User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1860
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 »

Actually maybe you need to add

Code: Select all

#include "tString.h" 
in gArmagetron.cpp
Image

User avatar
/dev/null
Shutout Match Winner
Posts: 820
Joined: Sat Sep 04, 2004 6:28 pm
Location: Chicago-ish

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

Post by /dev/null »

Perhaps tron should upgrade to not completely archaic versions of things without ******* everything else up thats good about tron.

Im lookin at you 4.0

Its a complete clusterfuck to make tron not suck anymore without a buttfuckton of work. They seem to only merge anything from the past decade into the version of tron thats pretty much awful and no one likes or uses.

Monkey
Match Winner
Posts: 736
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

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

Post by Monkey »

/dev/null wrote:Im lookin at you 4.0
It's 0.4 but meh, close enough.
/dev/null wrote:the version of tron thats pretty much awful and no one likes or uses.
I like and use it and I know of quite a few others that do too.
Playing since December 2006

User avatar
Z-Man
God & Project Admin
Posts: 11369
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 »

Just posting to say that I'm clueless, not ignoring you :) The crashes come from inside FTGL; we already did have problems with that and the utf8 transition. It's one of the few real c++ libraries we are using (the other one being boost). What I'd try is to manually compile and install FTGL with the same compiler you're using for armagetronad now.

Post Reply