McGriffin 0 Posted August 28, 2018 Report Share Posted August 28, 2018 (edited) Hi there,first of all,sorry for my bad english,my first lang. is german.I'm new to the game +i don't know so ! much about linux & gamingI'm onSystem: Host-Kernel: 4.4.0-133-generic x86_64 (64 bit) Desktop: KDE Plasma 4.14.2 Distro: Linux Mint 17.3 RosaMachine: System: Dell product: OptiPlex 755 Mobo: Dell model: 0GM819 Bios: Dell v: A22 date: 06/11/2012CPU: Quad core Intel Xeon X3380 (-HT-MCP-) cache: 6144 KB clock speeds: max: 3166 MHz 1: 2333 MHz 2: 2000 MHz 3: 2000 MHz 4: 2000 MHzGraphics: Card: NVIDIA Device 1c82 Display Server: X.Org 1.15.1 drivers: nvidia (unloaded: fbdev,vesa,nouveau) Resolution: 1920x1080@60.0hz, 1920x1080@60.0hz GLX Renderer: GeForce GTX 1050 Ti/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 384.130Audio: Card-1 NVIDIA Device 0fb9 driver: snd_hda_intel Sound: ALSA v: k4.4.0-133-generic Card-2 C-Media CMI8788 [Oxygen HD Audio] driver: snd_virtuoso Card-3 Intel 82801I (ICH9 Family) HD Audio Controller driver: snd_hda_intelI did this:http://wiki.thedarkmod.com/index.php?title=Installer_and_Manual_Installation#Installing_TDM_on_Linux.2C_manually+a workaround for the libstdc++.so.6.I found on the netthe output ofstrings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX isGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBCXX_3.4.21GLIBCXX_3.4.22GLIBCXX_3.4.23GLIBCXX_3.4.24GLIBCXX_3.4.25GLIBCXX_DEBUG_MESSAGE_LENGTHbecause of not enough space I'm on an external path with the game (-s)so after this i did tdm_update.linux& it ran just fineif I try to lounge TDM...no ! matter if ./thedarkmod.x86 or ./thedarkmod.x64...the output is:relocation error: /my/path/to/darkmod/thedarkmod.x86 or .x64:symbol _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time referenceanyone any ideas how to handle this ?please helpthank you Edited August 28, 2018 by McGriffin Quote Link to post Share on other sites
Aldo 48 Posted August 29, 2018 Report Share Posted August 29, 2018 Hi everyone. I am receiving a similar error to McGriffin: ./thedarkmod.x86: relocation error: ./thedarkmod.x86: symbol _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference OS: Ubuntu 14.04 LTS 64 bitCPU: AMD A6-6400K APU with Radeon HD Graphics × 2GPU: Gallium 0.4 on AMD CAPE VERDE Quote Link to post Share on other sites
freyk 474 Posted August 29, 2018 Report Share Posted August 29, 2018 (edited) Im not an expert on this, so i googled the error: "version GLIBCXX_3.4.21 not defined in file libstdc++.so.6" There a more people having this problem, outside TDM. And they found some solutions. Please let us know what the solution is. Edited August 29, 2018 by freyk Quote Info: My portfolio and darkmod graphical installer Amnesty for Bikerdude! Link to post Share on other sites
McGriffin 0 Posted August 30, 2018 Author Report Share Posted August 30, 2018 Thank you frey for helping my me It seems like no solution outside TDM,which optional,or possibly self-recognizing setting options for the compatibility of the intervening system should bring.Just like I like it from the results,as a result of this topic:https://github.com/typora/typora-issues/issues/504#issuecomment-280662005, (libstdc ++ 6 & GCC 5.1)read out,there were changes,(Https://www.gnu.org/software/gcc/gcc-5/changes.html) the two options to choose from.Who saw it,I use plasma 4 (as a desktop)to set up a new systemwith without this,or to start fumbling ...not even talking aboutbecause of a game!is absolutely no! option... for me!So there is only a gcc-downgrade as an option.Let's take a look ...https://packages.debian.org/search?keywords=gcc-5.1https://packages.debian.org/search?keywords=gcc-5https://packages.debian.org/sid/gcc-5The intsallation of the package,which is on the last link to download,would resultmy system would be deficient,because now another version,with less! Features are available,what kind of tools means death.And this,although TDM already ran with 5.1and just a patch would have to be providedwhich avoids this madness.Really off topicdid you read that comment?"P.S. funny thing, _ZNSt7__cxx11: CXX11, but we do not really read error messages."The problem is always understanding!Linux has taught me a lot about systems.... about political ...hierarchy,the financial sector (HJR192),the nutritional area,the environment area,the religious,especially the christian areaWHAT IS THE motu proprio?What are bankruptcy jurisdictions?What happened in 2012… by OPPTBe aware of itwho you areand what you areWhat does it mean ?A human is one.You have a natural personA PERSON you get unimplemented...to be !did you contradict that?What are trust relationships?Are you…Are you someone who is familiar?DO you TRUST ?I hope not.Because yours is the kingdom of heaven !!!respective Johannes 4:4and peace be upon youregards Quote Link to post Share on other sites
Aldo 48 Posted August 30, 2018 Report Share Posted August 30, 2018 Yes, the dependencies can drive you crazy. The moto proprio is a way of keeping the fantasy alive by giving infallible power to a group of chumps that are hanging desperately onto some fairy tales from the past. sudo ppa-purge ppa:ubuntu-toolchain-r/test Results in: ./thedarkmod.x86./thedarkmod.x86: /usr/lib32/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./thedarkmod.x86)./thedarkmod.x86: /usr/lib32/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./thedarkmod.x86)./thedarkmod.x86: /usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./thedarkmod.x86)./thedarkmod.x86: /usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./thedarkmod.x86) Hopefully someone comes up with a simple solution. Cheers Quote Link to post Share on other sites
McGriffin 0 Posted August 31, 2018 Author Report Share Posted August 31, 2018 The moto proprio is a way of keeping the fantasy alive by giving infallible power to a group of chumps that are hanging desperately onto some fairy tales from the past. it's the opposite they had... just be sovereign the sovereign |_|]prosito Quote Link to post Share on other sites
Springheel 4630 Posted August 31, 2018 Report Share Posted August 31, 2018 Really off topic Let's keep the off topic stuff in the appropriate forum. Quote TDM Missions: A Score to Settle * A Reputation to Uphold * A New Job * A Matter of Hours Video Series: Springheel's Modules * Speedbuild Challenge * New Mappers Workshop * Building Traps Link to post Share on other sites
Aldo 48 Posted August 31, 2018 Report Share Posted August 31, 2018 (edited) Yes, sorry Springheel I thought it was funny. Love your work man. Its been a while since I've been able to get darkmod 2.06 running, am starting to miss it. I was wondering if it is possible to build an older version on linux? * I've found a backed up old version of 2.05 and copied it across and am also able to use darkradiant again. Edited August 31, 2018 by Aldo Quote Link to post Share on other sites
stgatilov 1142 Posted September 1, 2018 Report Share Posted September 1, 2018 Ok, here is how it works. GCC broke ABI of C++ standard library for std::string and std::list.This is perhaps the only known case when they did so, and they had to do so to adhere to new C++11 standard.While breaking ABI by default, they allowed to return back to the old ABI if wanted (in exchange for not being C++11-compliant). TDM 2.06 binaries were compiled with C++11 with the new C++11 ABI.If you have old version of C++ standard library (it is something like glibc or glibcxx or libstdc++), then you cannot run these binaries.The only way to run the new binary is to get newer version of C++ standard libs somehow and make sure TDM uses them.I have no idea if it is possible to install it in Ubuntu 14.04 and if it is allowed/forbidden to have many versions of it at once in Linux. Alternative solution is to rebuild TDM from source code.In order to build with old C++ ABI, you have to add the following line: BASECPPFLAGS.append( '-D_GLIBCXX_USE_CXX11_ABI=0' )into SConstruct file at source code root directory, and then build according to wiki instructions.The resulting binary would be compatible with old C++ libraries, so you will be able to run it. Now there are two questions:1) Are you OK with compiling TDM from source, or should I compile tdm 2.06 for you?2) Should we switch to old ABI in SVN, so that TDM 2.07 could be run on Ubuntu 14.04? The question 2 is mostly for TDM developers I guess.Given that we try to support Windows XP for one last time in TDM 2.07, it is quite stupid that it is not possible to run it on Ubuntu 14 1 Quote Link to post Share on other sites
duzenko 654 Posted September 1, 2018 Report Share Posted September 1, 2018 Ok, here is how it works. GCC broke ABI of C++ standard library for std::string and std::list.This is perhaps the only known case when they did so, and they had to do so to adhere to new C++11 standard.While breaking ABI by default, they allowed to return back to the old ABI if wanted (in exchange for not being C++11-compliant). TDM 2.06 binaries were compiled with C++11 with the new C++11 ABI.If you have old version of C++ standard library (it is something like glibc or glibcxx or libstdc++), then you cannot run these binaries.The only way to run the new binary is to get newer version of C++ standard libs somehow and make sure TDM uses them.I have no idea if it is possible to install it in Ubuntu 14.04 and if it is allowed/forbidden to have many versions of it at once in Linux. Alternative solution is to rebuild TDM from source code.In order to build with old C++ ABI, you have to add the following line: BASECPPFLAGS.append( '-D_GLIBCXX_USE_CXX11_ABI=0' )into SConstruct file at source code root directory, and then build according to wiki instructions.The resulting binary would be compatible with old C++ libraries, so you will be able to run it. Now there are two questions:1) Are you OK with compiling TDM from source, or should I compile tdm 2.06 for you?2) Should we switch to old ABI in SVN, so that TDM 2.07 could be run on Ubuntu 14.04? The question 2 is mostly for TDM developers I guess.Given that we try to support Windows XP for one last time in TDM 2.07, it is quite stupid that it is not possible to run it on Ubuntu 14 How do they work around it with all other Linux C++ software? Do they build it on user's system or ??? Quote Link to post Share on other sites
Aldo 48 Posted September 1, 2018 Report Share Posted September 1, 2018 Thank you stgatilov for that explanation, now I know why fiddling around with libstdc++ felt like bashing my head against the wall. I'll try to compile from source....... Quote Link to post Share on other sites
Aldo 48 Posted September 1, 2018 Report Share Posted September 1, 2018 ...I added the BASECPPFLAGS.append line to the construct file and updated gcc and am compiling ... Quote Link to post Share on other sites
Aldo 48 Posted September 1, 2018 Report Share Posted September 1, 2018 (edited) ... and it works!! only TDM 2.06 now runs with a blank screen. * whoops put it in the old tdm 2.05 directory. Works fine in the right directory. Thanks heaps for the help Edited September 1, 2018 by Aldo Quote Link to post Share on other sites
stgatilov 1142 Posted September 2, 2018 Report Share Posted September 2, 2018 Reverted the current SVN to old gcc ABI, so that this issue does not happen with TDM 2.07.Tracked as #4879. Quote Link to post Share on other sites
duzenko 654 Posted September 2, 2018 Report Share Posted September 2, 2018 Reverted the current SVN to old gcc ABI, so that this issue does not happen with TDM 2.07.Tracked as #4879.Will that not break it for newer linux systems? Quote Link to post Share on other sites
stgatilov 1142 Posted September 2, 2018 Report Share Posted September 2, 2018 Will that not break it for newer linux systems?No, it will not. The old versions of glibcxx have only the old ABI in it, since they had no idea about the new stuff at that time.The new versions of glibcxx have both the old and the new ABI in it. So you will be able to run both old and new applications. BTW, the tdm_update 2.06 was/is built against old ABI.The reason to do so is that it is using boost, and without switching to old ABI I would have to rebuild boost static libs, which I didn't want to.For the same reason, the main TDM code was also built against old ABI: starting from x64 branch merge and ending at boost removal.It turns out that I should have kept TDM at old ABI when I removed boost, but I did not see any sense in doing so at that moment. Quote Link to post Share on other sites
McGriffin 0 Posted September 2, 2018 Author Report Share Posted September 2, 2018 holy fatheror someone else who is willing to leave some relevant informationplease give a working link to update / upgrade from ...2.06 to ...2.07thank you Quote Link to post Share on other sites
nbohr1more 2096 Posted September 2, 2018 Report Share Posted September 2, 2018 2.07 isn't out yet. The FBO beta (AKA 2.07 beta) at moddb is what is publicly available: https://www.moddb.com/mods/the-dark-mod/downloads/tdm-206-vertex-buffer-beta Requires 2.06 assets. I'll be updating the package once Shadow Maps stabilize in SVN. Quote Please visit TDM's IndieDB site and help promote the mod: http://www.indiedb.com/mods/the-dark-mod (Yeah, shameless promotion... but traffic is traffic folks...) Link to post Share on other sites
Aldo 48 Posted September 2, 2018 Report Share Posted September 2, 2018 (edited) Steps to build TDM 2.06 on ubuntu: 1. Follow the Installing TDM manually instructions: http://wiki.thedarkmod.com/index.php?title=Installer_and_Manual_Installation#Installing_TDM_on_Linux.2C_manually But install in your home folder /darkmod instead of /usr/share/games/darkmod 2. Download the source code http://www.thedarkmod.com/downloads/ and extract into your home folder /darkmod_src 3. Update GCC and G++: sudo apt-get update && sudo apt-get install build-essential software-properties-common -y && sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && sudo apt-get update && sudo apt-get install gcc-snapshot -y && sudo apt-get update && sudo apt-get install gcc-6 g++-6 -y && sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && sudo apt-get install gcc-4.8 g++-4.8 -y && sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8; 4. In your file manager go to /darkmod_src directory edit SConstruct and add the line of code as follows: ....# C++11 featuresBASECPPFLAGS.append( '-std=c++11' )# maintain this dangerous optimization off at all timesBASECPPFLAGS.append( '-fno-strict-aliasing' ) # In order to build with old C++ ABI, you have to add the following line:BASECPPFLAGS.append( '-D_GLIBCXX_USE_CXX11_ABI=0' ) if ( g_os == 'Linux' ):# gcc 4.x option only - only export what we mean to from the game SOBASECPPFLAGS.append( '-fvisibility=hidden' ).... 5. Install prerequisite packages http://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_-_Compilation_Guide#Linux sudo apt-get install scons //'scons' is currently not installedsudo apt-get install m4 //'SCons Environment' object has no attribute 'M4'sudo apt-get install subversion //svnversion: not foundsudo apt-get install mesa-common-dev //no such file: "Gl/gl.h"sudo apt-get install libxxf86vm-dev //no such file: "X11/extensions/xf86vmode.h"sudo apt-get install libopenal-dev //no such file: "AL/al.h"sudo apt-get install libxext-dev //no such file: "X11/extensions/Xext.h" 6. Then run the build either:scons BUILD="release" TARGET_ARCH="x86" .. //on 32-bit OS scons BUILD="release" TARGET_ARCH="x64" .. //on 64-bit OS 7. This will create a new thedarkmod.x86 or thedarkmod.x64 file in the /darkmod folder, make it executable:chmod uga+x ./thedarkmod.x64 8. Run ./thedarkmod.x64 Edited September 3, 2018 by Aldo Quote Link to post Share on other sites
McGriffin 0 Posted September 3, 2018 Author Report Share Posted September 3, 2018 But install in your home folder /darkmod instead of /usr/share/games/darkmodwhat if I cant do it under home folder AND /usr/share/games/... ?I NEED TO HAVE THAT EXTERNAL PATHfor the sake of clarity,I repeat that Quote Link to post Share on other sites
Aldo 48 Posted September 3, 2018 Report Share Posted September 3, 2018 Then just put the folder in your external path, you have to have /darkmod and /darkmod-src in the same folder for the build that's all. Quote Link to post Share on other sites
McGriffin 0 Posted September 4, 2018 Author Report Share Posted September 4, 2018 (edited) Then just put the folder in your external path, you have to have /darkmod and /darkmod-src in the same folder for the build that's all.a-ha... relocation error: /my/path/to/darkmod/thedarkmod.x64: symbol _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference Edited September 4, 2018 by McGriffin Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.