Jump to content
The Dark Mod Forums

Recommended Posts

Posted

First I'd like to apologise for my lack of contribution in this forum in the last few months

I am grateful to Hamlet and Nightstalker and many others for their efforts to get the linux version compiling and running.

 

I would have liked to have provided more help but I'm a complete amateur with no formal training and it seems like every time I tried to write something contributory, I found I was unsure of what I was trying to say or lacking in basic understanding.

For these reasons, I decided to remain silent rather than muddy the waters.

 

Ok with that out of the way I'll explain my current problem.

 

I'm still having trouble getting things working on 64-bit linux. (Currently -r6775)

It compiles fine but crashes out at runtime with an error which I believe to be something to do with libboost_filesystem.a

I've attached The full gdb session log as `gdb-packaged-libs.log.txt`

 

After faffing around for days wondering what it could all mean, I decided to obtain the Boost source and compile my own 32 bit libraries.

I placed the files in /usr/lib32/ and made the necessary edits to the scons files.

 

Miraculously, I had caught a break and the game compiled and ran without issue... Or so I thought.

 

I've now discovered that pressing the lean key causes the game to crash. I have posted the record of the gdb session in the attached file "gdb-system-libs.log.txt"

 

A backtrace reveals that a problem develops after the call to idCollisionModelManagerLocal::Rotation() (frame 5)

 

I have also done an `info args` and an `info locals` to show the state of the data.

Presumably, this data causes the assertion in /usr/lib32/libc.so.6 (frame 4) to fail somehow.

 

Anyway I've exhausted all avenues that I can think of so please help if you can.

 

Don't hesitate to ask for more info/testing.

 

ps. congrats on the steam greenlight thingy.

 

gdb-packaged-libs.log.txt

gdb-system-libs.log.txt

Posted (edited)

I dont know if the current snapshot tdm is a 64 or 32 bit(still??)

The compiled binary from the updater is 32 bit.

For this and your described errors you need 32 libs.

http://wiki.thedarkmod.com/index.php?title=Installer_and_Manual_Installation#Installing_TDM_Manually_on_a_Linux_Distribution

 

 

 

from the wiki

sudo dpkg --add-architecture i386
sudo apt-get install libc6:i386 libstdc++6:i386 libx11-6:i386 libxext6:i386 libxxf86vm1:i386 libpng12-0:i386 libasound2-plugins:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx libgl1-mesa-glx:i386 libglapi-mesa:i386 libglu1-mesa:i386 wget unzip
sudo mkdir -p /usr/share/games/darkmod
sudo chown -R nobody:users /usr/share/games/darkmod
sudo chmod uga+w /usr/share/games/darkmod
exit

 

Edited by freyk
  • Like 1

Info: My portfolio and darkmod graphical installer
Amnesty for Bikerdude!

Posted

I have all my dependencies in place and the game is compiling fine. It produces 32 bit binaries which runs as expected for the most part.

/home/joe/games/tdm/darkmod/thedarkmod.x86: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b0a31110c49260cde4db9c3c6e14e32516a44536, not stripped, with debug_info

There is something subtle going awry here. As I've said, the game loads and is playable.

It runs very well in fact but something goes wrong when the game tries to rotate the player model for the lean command.

 

I'll try to provide more info later and possibly open a bug report. Got to go do some taffing work now.

Posted

Glad to see you back, Crinkelite!

A minor point to be sure, but please be careful with the terminology. I know that you're compiling a 32-bit TDM under a 64-bit OS but I want to clearly distinguish that case from the very different case of compiling a 64-bit TDM, which is what your subject line had me assuming initially.

As for the 1st problem...

[...] I decided to obtain the Boost source and compile my own 32 bit libraries.

This is a very wise choice, IMHO. I've taken a similar (more extensive, in fact) approach, with positive results.

As for the 2nd error log you posted, which "lean" key are you referring to? Left? Right? Forward? All 3?

Is this happening consistently, literally every time you lean (left, right, forward)?

Is it happening on "The Outpost" (per your log) only or on other missions too?

Looking over my old notes, running one of the late-December-era TDM 2.05 beta releases but under a 32-bit OS, I've encountered a failed 'assert' in the 'idCollisionModelManagerLocal::Rotation180()' routine (coincidentally?) on "The Outpost" when I was trying to move an ordinary bottle to get to the golden (loot) bottle behind it on a shelf in the kitchen. But I could not duplicate the crash on subsequent tests. That's the closest thing to your problem I've encountered.

I have no expertise whatsoever with the 'collision model' code, so I think you may just have to dig into that 'assert' failure and work backwards, unless someone else has good advice.

Wish I had more to suggest and/or more time to experiment... :(

Posted (edited)

A minor point to be sure, but please be careful with the terminology. I know that you're compiling a 32-bit TDM under a 64-bit OS but I want to clearly distinguish that case from the very different case of compiling a 64-bit TDM, which is what your subject line had me assuming initially.

 

A very valid point. I'll have to see if I can change the title somehow. - EDIT: I can't

 

 

This is a very wise choice, IMHO. I've taken a similar (more extensive, in fact) approach, with positive results.

 

Oh good. I had a nagging feeling that my non-packaged libs could somehow be the cause of this crash so it's good to know that you're not having problems.

 

 

 

Is this happening consistently, literally every time you lean (left, right, forward)?

 

Is it happening on "The Outpost" (per your log) only or on other missions too?

 

It happens consistently with "Q", "E" and "F" and on all maps.

 

I managed to get some slightly more accurate information about the crash.

The assertion fails at cm/CollisionModel_rotate.cpp:1616

assert( ((byte *)&start) < ((byte *)results) || ((byte *)&start) > (((byte *)results) + sizeof( trace_t )) );

I'll have to have a a look tomorrow with fresh eyes.

 

Thanks to both of you for your replies and sorry for the 64/32 bit ambiguity.

 

UPDATE:

(gdb) p (byte* )&start
$12 = (byte *) 0xffffc304 "w\037\337\302lr\256¨\274\207@\366(\336\302\034\234\257", <incomplete sequence \302>

(gdb) p (byte* )results
$13 = (byte *) 0xffffc298 ""

(gdb) p ((byte *)results + sizeof( trace_t ))
$14 = (byte *) 0xffffc304 "w\037\337\302lr\256¨\274\207@\366(\336\302\034\234\257", <incomplete sequence \302>

It looks like the first part of the assertion is false because results is empty

The second part of the assertion fails because ((byte*)&start and ((byte *)results + sizeof(trace_t)) are equal.

 

Anyway, I'll look again tomorrow.

Edited by Crinkelite
Posted

I would have liked to have provided more help but I'm a complete amateur with no formal training and it seems like every time I tried to write something contributory, I found I was unsure of what I was trying to say or lacking in basic understanding.

For these reasons, I decided to remain silent rather than muddy the waters.

 

Ok so it seems this issue is a bug that I introduced through editing the code.

I was sure that the bug existed in both my code and the latest SVN revision but this was a mistake.

I had verified this by reverting to, and compiling the svn code and triggering the bug there also.

 

I'm guessing that I may have had a debugging session open when compiling the SVN code which would have prevented the build script from copying the binaries into the run directory. This allowed me to mistakenly believe that I was running the virgin code when I was in fact running my broken code.

 

Basically, a stupid blunder that wasted my time and yours.

Please take everything I write in this forum with a massive pinch of salt.

Posted

Basically, a stupid blunder that wasted my time and yours.

Not a problem whatsoever. You're pushing the boundaries (a good thing to be doing) and you're bound to run into legitimate issues along with a healthy measure of confusion and silly mistakes along the way! Don't ask me how I know this. ;):D

 

So don't hesitate to post again if you run into something that's befuddling.

 

Glad to hear you've gotten things fixed up!

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • JackFarmer

      "Hidden Hands: Vitalic Fever" - new update available including subtitles & compressed briefing video (thanks to @datiswous) and several fixes.
      · 0 replies
    • Wolfmond

      🇬🇧

      2025-04-20
      I'd like to track my level design progress a bit more often now, so I'm using the feed in my profile here.
      I've been working intensively on Springheel's YouTube course over the past few days. I'm currently up to lesson 8. There is so much information that needs to be processed and practiced. 
      I have started to create my own house. As I don't have the imagination to create a good floor plan, I grabbed a floor plan generator from Watabou and experimented with it. I chose a floor plan that I will modify slightly, but at least I now have an initial idea. 
      I used two guards as a measuring tape: The rooms are two guards high. It turned out that I can simply double the number of boxes in DarkRadiant in grid size 8 that are drawn in the floor plan. 
      I practiced the simplest things on the floor plan first. Drawing walls, cutting walls, inserting doors, cutting out frames, creating VisPortals, furnishing rooms.
      I have had my first success in creating a book. Creating a book was easier than I thought. I have a few ideas with books. The level I'm creating will be more or less a chill level, just for me, where I'll try out a few things. I don't have an idea for my own mission yet. I want to start small first.
      For the cellar, I wanted to have a second entrance, which should be on the outside. I'm fascinated by these basement doors from the USA, I think they're called Bilco basement doors. They are very unusual in Germany, but this type of access is sometimes used for deliveries to restaurants etc., where barrels can be rolled or lifted into the cellar. 
      I used two Hatch Doors, but they got completely disoriented after turning. I have since got them reasonably tamed. It's not perfect, but it's acceptable. 
      In the cellar today I experimented with a trap door that leads to a shaft system. The rooms aren't practically finished yet, but I want to continue working on the floor plan for now. I'll be starting on the upper floor very soon.

      __________________________________________________________________________________
      🇩🇪

      2025-04-20

      Ich möchte nun mal öfters ein bisschen meinen Werdegang beim Leveldesign tracken, dazu nutze ich hier den Feed in meinem Profil.
      Ich habe mich in den vergangenen Tagen intensiv mit dem Youtube-Kurs von Springheel beschäftigt. Aktuell bin ich bis zu Lektion 8 gekommen. Das sind so viele Informationen, die erstmal verarbeitet werden wollen und trainiert werden wollen. 

      Ich habe mich daran gemacht, ein eigenes Haus zu erstellen. Da mir die Fantasie fehlt, einen guten Raumplan zu erstellen, habe ich mir einen Grundrissgenerator von Watabou geschnappt und damit experimentiert. Ich habe mich für einen Grundriss entschieden, den ich noch leicht abwandeln werde, aber zumindest habe ich nun eine erste Idee. 

      Als Maßband habe ich zwei Wächter genommen: Die Räume sind zwei Wächter hoch. Es hat sich herausgestellt, dass ich in DarkRadiant in Gittergröße 8 einfach die doppelte Anzahl an Kästchen übernehmen kann, die im Grundriss eingezeichnet sind. 

      Ich habe bei dem Grundriss erstmal die einfachsten Sachen geübt. Wände ziehen, Wände zerschneiden, Türen einsetzen, Zargen herausschneiden, VisPortals erstellen, Räume einrichten.

      Ich habe erste Erfolge mit einem Buch gehabt. Das Erstellen eines Buchs ging leichter als gedacht. Ich habe ein paar Ideen mit Bücher. Das Level, das ich gerade erstelle, wird mehr oder weniger ein Chill-Level, einfach nur für mich, bei dem ich ein paar Sachen ausprobieren werde. Ich habe noch keine Idee für eine eigene Mission. Ich möchte erst einmal klein anfangen.

      Beim Keller wollte ich gerne einen zweiten Zugang haben, der sich außen befinden soll. Mich faszinieren diese Kellertüren aus den USA, Bilco basement doors heißen die, glaube ich. Diese sind in Deutschland sehr unüblich, diese Art von Zugängen gibt es aber manchmal zur Anlieferung bei Restaurants etc., wo Fässer dann in den Keller gerollt oder gehoben werden können. 
      Ich habe zwei Hatch Doors verwendet, die allerdings nach dem Drehen vollkommen aus dem Ruder liefen. Inzwischen habe ich sie einigermaßen gebändigt bekommen. Es ist nicht perfekt, aber annehmbar. 
      Im Keller habe ich heute mit einer Falltür experimentiert, die zu einem Schachtsystem führt. Die Räume sind noch quasi nicht eingerichtet, aber ich möchte erstmal am Grundriss weiterarbeiten. In Kürze fange ich das Obergeschoss an.



      · 2 replies
    • JackFarmer

      On a lighter note, thanks to my cat-like reflexes, my superior puzzle skills and my perfect memory, I was able to beat the remastered version of "Tomb Raider: The Last Revelation" in a new superhuman record time of 23 h : 35 m, worship me!
      · 3 replies
    • Goblin of Akenash

      My mapping discord if anyone is interested, its more of a general modding thing rather than just for TDM 
      https://discord.gg/T4Jt4DdmUb

       
      · 0 replies
    • nbohr1more

      2.13 Moddb Article is up: https://www.moddb.com/mods/the-dark-mod/news/the-dark-mod-213-is-here
      · 1 reply
×
×
  • Create New...