Jump to content
The Dark Mod Forums

Linux support?


Tels

Recommended Posts

Hello,

 

I have browsed the wiki, searched the forum, but I couldn't find an answer: Is it possible to use the editor under Linux?

 

Checking out DarkRadiant from SVN worked - I just made the mistake following the instructions on the sourceforge page, and wondering why it took so long - I ended up getting about 2.3 Gigabyte :)

 

Now I have Doom3, DarkRadiant, and what now? Are there any tutorials for getting stuff to work under Linux? There doesn't seem to be a README or INSTALL file in the source as far as I can see.

 

I guess darkradiant/trunk/darkradiant is the current branch and I can get rid of everything else. It also seems that "scons" is needed, so I installed that. What now? *puzzled look*

 

Thanx in advance,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Lets just try scons:

 

# scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated BuildDir targets: build/debug
gpp -o build/debug/plugins/archivezip/plugin.os -c -pipe -DPOSIX -DXWINDOWS -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter -Wno-non-virtual-dtor -Wreorder -fPIC -g -D_DEBUG `xml2-config --cflags` -fPIC -Ibuild/debug/radiant -Iradiant -Ibuild/debug/include -Iinclude -Ibuild/debug/libs -Ilibs -Ibuild/debug/include -Iinclude plugins/archivezip/plugin.cpp
include/itextstream.h: In member function ‘virtual int TextInputStream::underflow()’:
include/itextstream.h:58: error: ‘assert’ was not declared in this scope
scons: *** [build/debug/plugins/archivezip/plugin.os] Error 1
scons: building terminated because of errors.

 

The gpp above is actually g plus plus, but the forum server really doesn't like when I insert this :/

 

So, something seems to be missing, but I have no idea yet what.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

It's definitely possible. Crispy, Orb and some others have more experience in running it under Linux. Proving a linux port is also on our list.

 

Ah good. Hopefully the people named can get in touch with me or point me in the right direction :)

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

You can use DarkRadiant under Linux just fine, but you'll need to compile from source. For Ubuntu, I assembled this list of needed packages and attached it to the DarkRadiant Compilation Guide. Scons is of course required to compile it too.

 

As you guessed, the trunk/darkradiant is the branch to use here. The other branches are just for intermediate development steps, some get deleted after a while, some are still there - just ignore them.

Link to comment
Share on other sites

You can use DarkRadiant under Linux just fine, but you'll need to compile from source. For Ubuntu, I assembled this list of needed packages and attached it to the DarkRadiant Compilation Guide. Scons is of course required to compile it too.

 

As you guessed, the trunk/darkradiant is the branch to use here. The other branches are just for intermediate development steps, some get deleted after a while, some are still there - just ignore them.

 

Thanx, thats exactly what I was looking for. I will see how far I get after installing all this.

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Thanx, thats exactly what I was looking for. I will see how far I get after installing all this.

 

All the best,

 

Tels

 

It seems that include/itextstream.h is missing #include <assert.h>, and after installing all the required libraries and making this modification, it seems to compile now.

 

So, where do I send the patch in? Is there a mailinglist somewhere? Or someone I need to send the patch to so it can be checked into svn?

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

What environment are you using? I never had to include assert.h anywhere, isn't it provided by the compiler by default?

 

Good question. I am using g+ + 4.1.0 under Suse 10.1 (GAH! Everytime you use g+ + (without the space), the forum server cries :-)

 

Using simple "scons" makes it throw up that error about assert, a short googling lead me to some talk about "including assert.h", so I just included it and this fixed it.

 

At least "man assert" on my system says assert() is a macro defined in assert.h.

 

Anyway, I will try a release build soon and report tomorrow how far it did go (as it will take a while).

 

thanx a lot so far,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

It seems you're really asking about the editor, not the Mod itself, but just to be clear: Several of us already have the Dark Mod compiled and working under Linux. I even do all my mod development under Linux. There are a few caveats; the lightgem isn't hooked up properly yet, for example; but we hope to have those ironed out before release.

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

It seems you're really asking about the editor, not the Mod itself, but just to be clear: Several of us already have the Dark Mod compiled and working under Linux. I even do all my mod development under Linux. There are a few caveats; the lightgem isn't hooked up properly yet, for example; but we hope to have those ironed out before release.

 

Oh, I wouldn't mind about the Mod but as non-member I have only access to the editor - so I figured I start with that and see how far it goes :)

 

Speaking of that:

 

build/release/libs/libgtkutil.a(clipboard.o):(.data.rel.ro._ZTV17BufferInputStream[vtable for BufferInputStream]+0x30): undefined reference to `std::basic_streambuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)'
collect2: ld returned 1 exit status
scons: *** [build/release/darkradiant] Error 1
scons: building terminated because of errors.

 

As far as I can see all the relevant libs are installed, so that error puzzles me. Since I am unfamiliar with scons, will have to dig a bit to see what lib could be missing. Does that ring any bell with someone familiar with linux?

 

PS: This is a 64bit environment, although most of the 32bit libs are also installed. However, I have no idea on wether scons attempts a 64bit or 32bit build - hopefully it leaves a log or something telling me what it attempts to build.

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

The error suggests that the STL implementation is missing, but I assume google can give you some clues on what's missing.

 

Whether the build is 64 or 32 bits depends on your compiler installation. I had a 64-bit DarkRadiant build working on my AMD64 Ubuntu a few months ago, so it should work.

 

Maybe there are some gcc 64 bit libraries missing? I can't remember but maybe I installed something like that additionally to the packages mentioned on the wiki. Sorry that I'm not much of a help here, I haven't installed Linux on my laptop yet.

Link to comment
Share on other sites

The error suggests that the STL implementation is missing, but I assume google can give you some clues on what's missing.

 

Whether the build is 64 or 32 bits depends on your compiler installation. I had a 64-bit DarkRadiant build working on my AMD64 Ubuntu a few months ago, so it should work.

 

Maybe there are some gcc 64 bit libraries missing? I can't remember but maybe I installed something like that additionally to the packages mentioned on the wiki. Sorry that I'm not much of a help here, I haven't installed Linux on my laptop yet.

 

The STL should be installed, but I am still trying to figure out whats exactly the problem is. Google wasn't that enlightening so far. (I generally only have the 64bit versions of everything installed, with only a few 32bit compat libraries).

 

In related news, I noticed a lot of compiler warnings, should I created patches to silence them? And if, where should I send them?

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

In related news, I noticed a lot of compiler warnings, should I created patches to silence them? And if, where should I send them?

 

Assuming that by "silence" you mean "fix the code" rather than "disable the warning", you are welcome to send patches to either me or Greebo in a PM or through the forum. If you wanted to get more involved in development you could be set up as a contributor and have access to the coding forums as well.

Link to comment
Share on other sites

Bit ot, but >>

just dl'd dark radiant sources via subversion and

started compile with command scons BUILD="release".

I get an error almost immediately with message:

 

scons: Reading SConscript files ...

Command line: BUILD="release"

scons: done reading SConscript files.

scons: Building targets ...

scons: building associated BuildDir targets: build/release

scons: *** [Errno 21] Is a directory: '/usr/src/darkradiant2/darkradiant/libs/string'

scons: building terminated because of errors.

 

How can I fix this problem/error?

Link to comment
Share on other sites

That error happens with the newer version of Scons (0.97 I think), with 0.96 it does not occur. I think Greebo had a fix which involved changing the SConscript, but I can't remember what it was.

 

Maybe it is not such a good idea having a directory "string" in the include path, when <string> is also a standard include name. It should probably be called "stringutil" or similar.

Link to comment
Share on other sites

Yes, that's some scons weirdness. I could fix it this way:

 

@scons: I encountered that issue as well and could resolve it by adding a

module_env.Dir('libs/string')

at the module_env = g_env.Copy() statement to force scons somehow into this. If you're building on an AMD64 it's also necessary to add the -fPIC position-independent code switch as standard, otherwise the linker will throw up.

Link to comment
Share on other sites

Assuming that by "silence" you mean "fix the code" rather than "disable the warning", you are welcome to send patches to either me or Greebo in a PM or through the forum. If you wanted to get more involved in development you could be set up as a contributor and have access to the coding forums as well.

 

Of course, "silence" means either "fix the problem" or tell the bloody compiler "there is no problem", as appropriate :) For now, I am trying to get it to compile first :)

 

Bed time now, I will get back tomorrow.

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

  • 2 weeks later...
Bed time now, I will get back tomorrow.

 

Bah, empty threats! :ph34r:

 

In the meantime my computer suffered a CPU update (failed due to missing BIOS support for the shiny new dual-core :( ), a rescue BIOS update, that failed, a power-failure while trying to backup data, corrupting the ReiserFS in my original encrypted install :angry:, an intermidiate windows installation on a third HD just to update the BIOS, an finally updated BIOS, a memory stick failure, leaving my system with only one GB, and finally three Kubuntu 64 bit installations until I got it working properly with encryption. :wacko:

 

Apart from half the main memory missing, all is well now system-wise. :D

 

Right now Adept pulls down all the required packages for compiling DarkRadiant, and I still need to install Doom 3, import all my email, and do tons of system tweaks.

 

So, it might take a while longer until I report back for duty :)

 

Thanx for your patience,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Urk! How annoying. I hope you didn't lose any important data.

 

Good luck with getting up-and-running again. :)

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

Urk! How annoying. I hope you didn't lose any important data.

 

Good luck with getting up-and-running again. :)

 

Got the email, the pgp-key, the photos, my firefox data, guess the rest wasn't important :) But then, maybe I can repair my old partition and access the rest of the data.

 

Related good news:

 

scons: done building targets.

 

Yeah! (But you should have warned me that it takes a small cluster to finish the compile in under one day....)

 

Now I just need to figure out how to install Doom 3 under Kubuntu...

 

http://forums.thedarkmod.com/index.php?showtopic=6572&hl=

 

All the best,

 

Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

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

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 6 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...