ASC documentation: Linux FAQ

Back to documentation index

# Advanced Strategic Command

documentation

## Linux FAQ

This file describes how to solve potential problems when running the Linux version of Advanced Strategic Command. For information about compiling and installing the Linux version of ASC, refer to the Linux installation.

### There is no music playing

The music must be downloaded separately and placed in a 'music' subdirectory, see the installation instructions.

### The music is correctly installed, but still doesn't play

SDL_mixer can be configured and build with or without mp3 music. To test if it can play mp3 music, run
`ldd asc`
and look for `libsmpeg`. If it is missing, you have to rebuild SDL_mixer (not ASC!) with sound:

`configure --enable-music-mp3
make
make install
`

SDL_mixer requires the SMPEG library to decode MP3 files.

### How do I disable / enable debug symbols

This is determined by the environment variable CXXFLAGS. Prior to runnine configure you can specify: `export CXXFLAGS="-O0 -g"` (for a debug build with symbols)
or `export CXXFLAGS="-O2"` (for a release build without symbols)

### ASC complains it can't load libSDL-1.1.so.0

This happens if you haven't got version 1.1.0 or later of SDL installed on your system. Get it from www.libsdl.org unpack it, and cd into it. configure ; make then become root and make install.

### ASC complains it can't load libSDL_image-1.0.so.0

This happens if you haven't got version 1.1.0 or later of SDL installed on your system. Get it from : http://www.libsdl.org/projects/SDL_image/index.html unpack it, and cd into it. configure ; make then become root and make install.

### I have installed SDL / SDL_image, but ASC still can't load libSDL-1.1.so.0 or libSDL_image-1.0.so.0

You probably don't have /usr/local/lib in your LD_LIBRARY_PATH or /etc/ld.so.conf. The quick solution is to incant: export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH or for csh derivatives: setenv LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH a more permanent alternative is to add the line: /usr/local/lib to /etc/ld.so.conf (you must be root to do this).

### ASC still can't find some library

Compile ASC from source. It's easy, more robust and has much better diagnostics! Some instructions (which should usually not be necessary) are here.

### ASC complains that it can't find SDL_EnableKeyRepeat

You're running an old version of SDL. See fixes above.

### ASC doesn't run and/or it crashes my X server.

try running it with the --window flag on the command line.

### ASC runs in fullscreen, but there is a big black border arount the area of the screen

You must add the resolution that ASC tries to run in (default is 800*600 at the time of writing) to your xf86config. Your Linux distribution may have a more comfortable way to do this. On SuSE Linux for example, this can be done with SAX on the "extended desktop settings" (is this translation from the german SAX the one that is actually used?) page.

Alternatively, you can run ASC in window mode ( --window on the command line), or change the resolution it uses ( -x and -y command line options) Type ASC --help for a summary of the command line parameters

### ASC crashes.

Please send a backtrace to bugs@asc-hq.org. You must compile ASC from source to do this.

Run "gdb asc"
Type "run" in gdb and reproduce the crash.
type "backtrace" in gdb and send me its output.

If gdb cant find the debug symbols, you must first turn them on and rebuild ASC:

> `export CXXFLAGS="-O0 -g3"
> configure
> make
> make install` (if desired)

Any help about automating this task (like making ASC printing its own backtrace) is appreciated !

### ASC crashes and does not restore the original screen resolution

To avoid this problem, you can run ASC in windowed mode:

> `asc -w`

or run it in your default resolution, for example

> `asc -x 1152 -y 864`

If the resolution has already been changed by ASC crashing, there is a simple way to restore it to your original settings. Start ASC in your preferred resolution, like

> `asc -x 1152 -y 864`

and let it crash again. If it fails to crash, kill it!

## Some random notes:

- Ugrading from versions < 1.2.0 to recent versions:

  > Since version 1.2.0 ASC looks for all savegames, email files etc. in ~/.asc and writes all files there. If you have previosly run ASC from a different directory, either move all your files to ~/.asc/ or specify your directory as searchPath in ~/.asc/ascrc (this file is generated when the new ASC version is run for the first time). searchPath0 there is the only directory ASC writes to. If you specify your old directory as searchPath0, all savegames etc. will still be written there, but if you specified your directory as searchPath5 for example, ASC will load the files there, but write new ones to searchPath0.

- to run under X in fullscreen mode you need DGA. You may need to upgrade to the latest Xfree86 to use it.
- if it does not work, try running ASC as root. You may need write access to /dev/mem .

  The fullscreen code of SDL was recently enhanced to enable fullscreen without beeing root. This runs on my system.

- frame buffer console usage is entirely untested

$Id: linux_faq.html,v 1.5 2002/10/21 12:23:08 mbickel Exp $