Next: Quick start, Previous: Extra maps, Up: User's manual

### 2.5 Troubleshooting

#### 2.5.1 Compilation problems

A quick survival guide:

- Check that you have all dependencies installed. Also check their version number. Double-check that you have devel packages installed, not only run-time binaries.
- Read carefully the output of `./configure`. Running `./configure > configure.log 2> configure.err` does help.
- Editing `/etc/ld.so.conf` and running `ldconfig` as `root` can help if some dependencies are installed in exotic places.
- Check the values of the environment variables `CFLAGS`, `LDFLAGS` and `LD_LIBRARY_PATH`.
- Try `./configure --enable-allinone`, this will disable some fancy but somewhat complicated dynamic `.so` file support, it can help if shared libraries are handled differently on your system than on a plain GNU/Linux box.

If none of these help, consider reporting a bug, or search the mailing-lists for help.

#### 2.5.2 Check installation

Here's a check-list to ensure that your installation is correct:

- What was the output of `make install`? `make check`?
- Is the `liquidwar6` binary in your `PATH` environment variable? It might be in `/usr/games`.
- Run `liquidwar6 --pedigree`. Look at the output. Check the compilation date & time, the version number.
- Run `liquidwar6 --audit`. What do these paths look like? Are they absolute paths? Do they exist? What's there? Normally, once the game is installed, all of them should exist, and be populated with sub-directories and files.
- Run `liquidwar6 --modules`, to know which modules where compiled. You need at least one graphical module, for instance `mod-gl`, else the game won't run.
- Run `liquidwar6 --host`, this displays informations about the host system the binary has been built for.

#### 2.5.3 Problems running the game

Now, game looks correctly installed, but you have problems running it.

- Run the game from a terminal, not from a Gnome or KDE launcher, you need to see the console output.
- In the `$HOME/.liquidwar6/` directory, you'll find some files, the main log file `log.csv` and maybe `dump.txt` or `backtrace.txt`. They might contain valuable information, read them. Note that while `log.csv` is overwritten each time you start the game, `dump.txt` or `backtrace.txt` are conserved until a new problem arises. So check the date of these files to be sure you're analyzing the right ones. Note that byt default on Microsoft Windows `$HOME/.liquidwar6/` is replaced by `C:\Documents and Settings\<username>\Liquid War 6` and on Mac OS X it is in `/Users/<username>/Library/Application Support/Liquid War 6/`.
- Run `liquidwar6 --defaults`. This will reset all options to defaults. You might need to run this when upgrading from a version to another, since some options might appear, disappear, or defaults values can change.
- Run `liquidwar6 --test`. This should run a complete test suite, many functions in the game will be tested automatically, and errors reported.
- Run `liquidwar6 --show-script-file`. Are you really running the right code?
- Game segfaults: try `make uninstall && make clean && make && make install`. Many problems can come from using a wrong shared module. You can also launch the game with the `--trap-errors=false` switch, this will disable the custom popup window and allow you to get the real error.
- Game (still) segfaults: try `gdb liquidwar6`. Type `run --trap-errors=false` and watch output.
- The dynamic library loader can sometimes have problemes, and does not always report explicit messages on `stdout` or `stderr`. You can change this by modifying some environment variables: `export LD_DEBUG=all`. This is very verbose but does help finding bugs.
- Consider compiling the game using `./configure --enable-valgrind` and then run it using Valgrind.
- Try `find / -type d -a -name "liquidwar6*" 2> /dev/null` to ensure you don't have an old version of Liquid War 6 somewhere else...