Jump to content
SubSpace Forum Network

Discretion compiles and runs on linux/mac!


Recommended Posts

Posted

It's now set up with the GNU autoconf suite so compilation should be as easy as ./configure; make; make install

But be sure to read README first -- it won't install to your expected location so you might want to use ./configure --prefix=somedir

 

The svn is at https://ss-discretion.svn.sourceforge.net/s...t/ss-discretion

and is easily viewed by browser just at http://ss-discretion.svn.sourceforge.net

 

I've only tested it on mac but it should work on linux smile.gif

 

 

Only the client builds on -nix atm. The server, not so much.

 

It's a pretty big svn setup atm since library dependencies and the like are included. If anyone wants to try to get it to properly configure and make those deps work from the root ./configure

Posted
what about good ol' windows?

 

Um. Ironically, that might be awaiting refactoring from Bak.

On the other hand, mingw/dev c++ might be working (and he mentioned possibly switching to mingw.)

  • 4 weeks later...
Posted (edited)

Hi, I just built the client on mac/PPC and thought I'd share the couple extra steps I had to go through to get a working binary:

 

  • I installed the required dependencies via fink. Note that other than the listed SDL deps (SDL, SDL_image, SDL_net) I also had to install SDL_ttf
  • GUI dependencies reported in README: aedGUI actually depends on freetype, which you'll have to install first
  • cd-ed to ss-discretion/client and ran configure (went fine), make
  • there's no libtool in ss-discretion/client! copied the one in aedGUI (hint: libtool is probably svn:ignore'd)
  • src/Modules: SDL include and lib dirs in the makefile are a bit messed, had to prepend AM_CXXFLAGS with " `sdl-config --cflags` `sdl-config --libs` -I/sw/include " in src/Modules/Makefile (these should probably go into Makefile.in ?)
  • src/Frontend: Makefile there didn't find src/FrontEnd/cskinviewer/bak*, copied deps/aedGUI-0.1.8a/src/bak* and deps/aedGUI-0.1.8a/include/bak* to src/FrontEnd/cskinviewer/

 

After these steps make, make install went fine. The game starts and I can enter the single-player zone, but can't spawn a ship yet.

 

Anyway, glad to see progress is being done, thanks to Bak and all those working on this!

Edited by mbi
Posted

oh cool, sdl has a truetype font module, I was just using freetype... maybe I'll see about using the sdl one for windows too.

 

so did you have to install freetype too? or was sdl_ttf enough?

Posted (edited)

I'm having a bit of trouble getting aedGUI to install on Leopard 10.5 (x86). It's failing during the OpenGL test when running the makefile in the test section. A long list of "undefined symbols" errors:

 

g++ -g -O2 `/sw/bin/sdl-config --cflags` -I../include/ gltest.o -o gltest \
-Wl,-rpath,../src/.libs/ \
-L../src/.libs/ -laedGUI -L/sw/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -lSDL_ttf 
Undefined symbols:
 "_glTexImage2D", referenced from:
  LoadGLTextures()	 in gltest.o
  LoadGLTextures()	 in gltest.o
  CreateScreenTex()	 in gltest.o
  DrawGUI(SDL_Surface*)	 in gltest.o
 "_glEnable", referenced from:
  InitGL()	in gltest.o
  InitGL()	in gltest.o
  InitGL()	in gltest.o
  InitGL()	in gltest.o

...

 

Looks like it can't locate the appropriate header file or something? Forgive me, I'm new to C/C++. Everything up until this point has been in Java, so I'm completely nub at this point. I have all the required SDL stuff installed. Apparently I missed something?

 

Which brings me to another question. I have Freetype 2.3.5 installed. Should that be okay? The source comes packaged with version 2.2.1...

Edited by Warhaven
Posted
oh cool, sdl has a truetype font module, I was just using freetype... maybe I'll see about using the sdl one for windows too.

 

so did you have to install freetype too? or was sdl_ttf enough?

 

I had to install both, as freetype seems to be a requirement for aedGUI.

Posted
I'm having a bit of trouble getting aedGUI to install on Leopard 10.5 (x86). It's failing during the OpenGL test when running the makefile in the test section. A long list of "undefined symbols" errors:

 

 

Yes, I had the same problem. Basically the build process breaks while running the tests, even though the aedGUI actually compiled properly. So just run 'make install' after you get the error above and the lib should install fine.

Posted
I'm having a bit of trouble getting aedGUI to install on Leopard 10.5 (x86). It's failing during the OpenGL test when running the makefile in the test section. A long list of "undefined symbols" errors:

 

 

Yes, I had the same problem. Basically the build process breaks while running the tests, even though the aedGUI actually compiled properly. So just run 'make install' after you get the error above and the lib should install fine.

 

Ah, okay. Thanks for the tip.

Posted (edited)

Okay, I explicitly converted it to a char array with c_str(), and it seems to be happy with that. Anyone see any problem with doing this?

 

void profileNameChanged(void* caller, void* data)
{
const char* newName = (((aedTextBox*)widgets[0])->getCaption()).c_str();

if (newName[0] == '\0')
	newName = "(None)";

listBoxPtr->setIndexText(currentProfileIndex, newName);
}

Edited by Warhaven
Posted (edited)

So close. smile.gif

 

ERROR: debug: dlopen failed on Modules/SettingsHandler.so in function loadAndGetInterface, on line 331 in file ../../src/Modules/ModuleManager/MMHelper.h
ERROR: SettingsHandler Module not found at modules/SettingsHandler in function loadSkinSettings, on line 56 in file cskinviewer/Settings.cpp
error loading skin settings
aedGUI: Adding memory font: my_font at 0x21060, size 65933 bytes
load_skin: Unable to access skin file(0x30a3cc): skins/default.skn
Bus error

 

Is this looking for an actual .so file?

 

ls -a ~/Discretion/Modules/ | grep SettingsHandler
SettingsHandler
SettingsHandler.0
SettingsHandler.0.0.0
SettingsHandler.a
SettingsHandler.la

 

All that's in the Modules folder with regards to SettingsHandler is the above. In fact, there aren't any .so files. Did my modules not compile correctly?

Edited by Warhaven
Posted

why are there so many? smile.gif

 

I'd say rename SettingsHandler to SettingsHandler.so and cross your fingers.

 

I'm actually really glad you're doing this since I'm sure it will help a lot of people out.

 

I'm concerned about your previous error though. an aedTextbox extends aedStaticText which extends aedCaption which contains the definition:

 

virtual const char* getCaption(void) const

 

Are you #including the aedgui/include directory from the deps folder when you compile?

Posted (edited)
Is this looking for an actual .so file?

 

ls -a ~/Discretion/Modules/ | grep SettingsHandler
SettingsHandler
SettingsHandler.0
SettingsHandler.0.0.0
SettingsHandler.a
SettingsHandler.la

 

All that's in the Modules folder with regards to SettingsHandler is the above. In fact, there aren't any .so files. Did my modules not compile correctly?

 

Odd. I had the same issue on mac-intel, while it worked straight out of the box on mac-ppc.

 

By the way, when I start the game I land in spectator mode. How do I spawn a ship from there?

Edited by mbi
Posted (edited)
same way as continuum, esc + 1

 

Aw, no love: both esc-q and esc-f work, but not esc-[1-9] B)

 

EDIT: the event drops the sent char somewhere between sdlEvent in Chat.cpp and keyPressed in EscapeBox.cpp

Edited by mbi
Posted

make  all-recursive
make[1]: Entering directory `/home/brad/dis/ss-discretion/client'
Making all in src
make[2]: Entering directory `/home/brad/dis/ss-discretion/client/src'
Making all in Modules
make[3]: Entering directory `/home/brad/dis/ss-discretion/client/src/Modules'
source='PlatformSpecific/MainSDL.cpp' object='MainSDL.lo' libtool=yes \
       depfile='.deps/MainSDL.Plo' tmpdepfile='.deps/MainSDL.TPlo' \
       depmode=gcc3 /bin/bash ../../depcomp \
       /bin/bash ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../..    -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -g -O2 -c -o MainSDL.lo `test -f 'PlatformSpecific/MainSDL.cpp' || echo './'`PlatformSpecific/MainSDL.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -g -O2 -c PlatformSpecific/MainSDL.cpp -MT MainSDL.lo -MD -MP -MF .deps/MainSDL.TPlo  -fPIC -DPIC -o .libs/MainSDL.o
In file included from PlatformSpecific/PlatformSpecificModule.h:17,
                from PlatformSpecific/MainSDL.cpp:16:
PlatformSpecific/../Module.h:13:29: error: Shared/Snprintf.h: No such file or directory
make[3]: *** [MainSDL.lo] Error 1
make[3]: Leaving directory `/home/brad/dis/ss-discretion/client/src/Modules'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/brad/dis/ss-discretion/client/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/brad/dis/ss-discretion/client'
make: *** [all] Error 2

That's what I get when I type make. I'm gonna try to fix it on my computer.

  • 1 month later...

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.

Loading...
×
×
  • Create New...