Message Boards

Topic: Getting Odamex to work on Ubuntu  (Read 9415 times)

Offline jiiiiim

  • Posts: 3
    • View Profile
Getting Odamex to work on Ubuntu
« on: December 07, 2012, 09:12:25 »
Hi,

I've been trying for a while to compile/install/run odamex in Ubuntu for a while now and i can't seem to get it to work. The documentation is in bits all over the place and im not sure if i've done everything completely right. Could someone post up a set by set approach to run Odamex on Ubuntu/linux?

Thanks for any help

Offline Dr. Sean

  • Developer
  • Posts: 69
  • G'd up from tha feet up
    • View Profile
    • Odamex - Helping middle-aged men relive their teen years
Re: Getting Odamex to work on Ubuntu
« Reply #1 on: December 07, 2012, 12:30:36 »
jiiiiim,

My assumption is that you're looking to compile from the source, so that is what I'll base these instructions on.

First, download the source tarball and extract it to your home directory:
Code: [Select]
tar xjf odamex-src-0.6.1.tar.bz2
Then you'll need to make sure you have all the appropriate packages needed to compile:
Code: [Select]
sudo apt-get install g++ make cmake libsdl1.2-dev libsdl-mixer1.2-dev libwxgtk2.8-dev libportmidi-dev
Now you need to generate the Makefile for Odamex:
Code: [Select]
cd odamex-src-0.6.1
mkdir build
cd build
cmake ..

Finally, you can compile:
Code: [Select]
make && sudo make install
Odamex Development Team Member

Offline jiiiiim

  • Posts: 3
    • View Profile
Re: Getting Odamex to work on Ubuntu
« Reply #2 on: December 08, 2012, 15:12:23 »
thanks for the help. i get an error though when using the make command. it gets to 55%, then:

Linking CXX executable odamex
/usr/bin/ld: CMakeFiles/odamex.dir/sdl/i_musicsystem.cpp.o: undefined reference to symbol 'Pt_Sleep'
/usr/bin/ld: note: 'Pt_Sleep' is defined in DSO /usr/lib/libporttime.so.0 so try adding it to the linker command line
/usr/lib/libporttime.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [client/odamex] Error 1
make[1]: *** [client/CMakeFiles/odamex.dir/all] Error 2
make: *** [all] Error 2

Offline Dr. Sean

  • Developer
  • Posts: 69
  • G'd up from tha feet up
    • View Profile
    • Odamex - Helping middle-aged men relive their teen years
Re: Getting Odamex to work on Ubuntu
« Reply #3 on: December 08, 2012, 15:33:04 »
That's unfortunately due to the PortMidi and PortTime libraries being combined on some Linux systems but being separate libraries on others. Our build system for Odamex 0.6.2 works around this problem.

The simplest way to work around this compilation problem is to disable PortMidi support in Odamex until we release Odamex 0.6.2 in a couple days.

You can disable the PortMidi library by opening the client/sdl/i_musicsystem.h file and changing the following lines near the top of the file from:

Code: [Select]
#ifdef PORTMIDI
#include "portmidi.h"
#endif  // PORTMIDI

to be:

Code: [Select]
#undef PORTMIDI
#ifdef PORTMIDI
#include "portmidi.h"
#endif  // PORTMIDI

Odamex Development Team Member

Offline jiiiiim

  • Posts: 3
    • View Profile
Re: Getting Odamex to work on Ubuntu
« Reply #4 on: December 08, 2012, 16:42:35 »
ok thanks again. i'm having trouble installing it now!, but i've got the executables now, so that'll do.
i'll check out the next version as well.

cheers