author | unc0rr |
Sun, 07 Jan 2018 09:48:26 +0100 | |
branch | qmlfrontend |
changeset 12889 | 66171ce586cc |
parent 12822 | b35b6978baa4 |
child 13186 | 2148b493836e |
permissions | -rw-r--r-- |
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
1 |
Building and installing Hedgewars |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
2 |
================================= |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
3 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
4 |
This file explains to you how to build/compile Hedgewars and how to install it. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
5 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
6 |
See also: <https://hedgewars.org/kb/BuildingHedgewars> |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
7 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
8 |
Dependencies |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
9 |
------------ |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
10 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
11 |
### Core dependencies |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
12 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
13 |
To compile and install Hedgewars, you need at least: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
14 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
15 |
- A C++ compiler (e.g. GCC) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
16 |
- CMake >= 2.6.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
17 |
- A make program (e.g. GNU Make) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
18 |
- Free Pascal Compiler (FPC) >= 2.2.4 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
19 |
- Qt = 4.7.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
20 |
- SDL >= 2.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
21 |
- SDL\_net >= 2.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
22 |
- SDL\_mixer >= 2.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
23 |
- SDL\_image >= 2.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
24 |
- SDL\_ttf >= 2.0 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
25 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
26 |
### Optional dependencies |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
27 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
28 |
For some additional features, you can optionally install these dependencies: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
29 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
30 |
- For Hedgewars: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
31 |
- PhysFS >= 2.0.0 (recommended) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
32 |
- Lua = 5.1.0 (recommended) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
33 |
- For PNG screenshots: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
34 |
- libpng >= 1.2 (recommended) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
35 |
- For video recording: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
36 |
- FFmpeg or Libav |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
37 |
- For the Hedgewars Server: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
38 |
- GHC >= 6.10 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
39 |
- Various Haskell packages (see below) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
40 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
41 |
PhysFS will be internally built if `-DPHYSFS_SYSTEM=OFF` is passed to `cmake` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
42 |
(also allows to set `PHYSFS_LIBRARY` and `PHYSFS_INCLUDE_DIR` if needed). |
8120 | 43 |
|
8125 | 44 |
Lua will be automatically built if not found. |
8120 | 45 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
46 |
### Hedgewars Server dependencies |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
47 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
48 |
The Hedgewars Server is an **optional** separate application. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
49 |
It provides the online lobby and allows players to create rooms. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
50 |
You will also be able to launch the server from the frontend |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
51 |
(network play → local network → start server). |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
52 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
53 |
**Most players do not need this!** |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
54 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
55 |
To compile it, you need: |
1006 | 56 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
57 |
- Glasgow Haskell Compiler (GHC) >= 6.10 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
58 |
- These Haskell packages: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
59 |
- `containers` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
60 |
- `vector` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
61 |
- `bytestring` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
62 |
- `network` >= 2.3 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
63 |
- `random` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
64 |
- `time` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
65 |
- `mtl` >= 2 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
66 |
- `sandi` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
67 |
- `hslogger` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
68 |
- `process` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
69 |
- `deepseq` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
70 |
- `utf8-string` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
71 |
- `SHA` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
72 |
- `entropy` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
73 |
- `zlib` >= 0.5.3 and < 0.6 |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
74 |
- `regex-tdfa` |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
75 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
76 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
77 |
Building |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
78 |
-------- |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
79 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
80 |
### Summary |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
81 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
82 |
To build and install Hedgewars, obtain all dependencies, then run: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
83 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
84 |
$ cmake . |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
85 |
$ make |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
86 |
# make install |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
87 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
88 |
### Step 1: Configure |
470 | 89 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
90 |
For a default install with all dependencis, use this command: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
91 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
92 |
$ cmake . |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
93 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
94 |
To build with a custom install directory, instead run: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
95 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
96 |
$ cmake -DCMAKE_INSTALL_PREFIX="<install_prefix>" . |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
97 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
98 |
(Replace `<install_prefix>` with the directoy in which you |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
99 |
want Hedgewars to be installed.) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
100 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
101 |
Add the `-DNOSERVER=ON` switch if you do not want to build |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
102 |
the server. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
103 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
104 |
#### CMake options |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
105 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
106 |
For more detailed build settings, change some CMake options. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
107 |
Run `ccmake` for an interactive way to edit them. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
108 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
109 |
Important CMake options: |
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1006
diff
changeset
|
110 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
111 |
- `CMAKE_INSTALL_PREFIX`: Installation directory |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
112 |
- `NOSERVER`: Set to `ON` to *not* build the server |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
113 |
- `NOVIDEOREC`: Set to `ON` to *not* build the video recorder |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
114 |
- `SYSTEM_PHYSFS`: Set to `OFF` to use Hedgewars-bundled PhysFS |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
115 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
116 |
### Step 2: Make |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
117 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
118 |
Run: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
119 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
120 |
$ make |
470 | 121 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
122 |
This creates the following files: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
123 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
124 |
- `bin/hedgewars`: Hedgewars |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
125 |
- `bin/hwengine`: Game engine, can be used to play demos and saved games |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
126 |
- `bin/hedgewars-server`: Hedgewars Server (optional) |
273 | 127 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
128 |
### Step 3: Installation |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
129 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
130 |
To install Hedgewars to the install directory run: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
131 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
132 |
# make install |
2220 | 133 |
|
457 | 134 |
That's all! Enjoy! |
8120 | 135 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
136 |
Troubleshooting |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
137 |
--------------- |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
138 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
139 |
### Qt is installed but it can't be found |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
140 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
141 |
If this happens, set the following CMake option: |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
142 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
143 |
QT_QMAKE_EXECUTABLE="<path_to_qmake>" |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
144 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
145 |
(Replace `<path_to_qmake>` with the path to the `qmake` application.) |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
146 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
147 |
If this didn't work, make sure you have the correct Qt version |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
148 |
(see above). |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
149 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
150 |
### Hedgewars compiles successfully, but games instantly crash the map preview fails |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
151 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
152 |
This is likely to be a problem with PhysFS. Try to build Hedgewars |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
153 |
with the Hedgewars-bundled PhysFS by setting the CMake option |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
154 |
`SYSTEM_PHYSFS=OFF`, then try to run `make` again. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
155 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
156 |
If the _bundled_ PhysFS fails, too, this is likely to be a bug in |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
157 |
Hedgewars, please report at <https://issues.hedgewars.org/>. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
158 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
159 |
### Broken/missing Haskell dependencies |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
160 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
161 |
First, try to obtain the missing Haskell packages and make sure GHC |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
162 |
is up-to date, then try again. Read the error messages carefully |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
163 |
to figure out missing package names. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
164 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
165 |
If everything fails and you don't need the server, set the CMake |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
166 |
option `NOSERVER=ON` so the server isn't built at all. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
167 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
168 |
### Error messages related to libavcodec / libavformat |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
169 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
170 |
Update Libav or FFmpeg (whatever is present on your system) to |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
171 |
the latest version or install one of them if you haven't already. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
172 |
Then try to build again. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
173 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
174 |
If this still doesn't work and you give up, set the CMake option |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
175 |
`NOVIDEOREC=ON`, but then the video recording functionality will |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
176 |
not be available. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
177 |
|
12822
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
178 |
### Error messages related to Lua, “undefined reference to `lua_tonumber'”, and so on |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
179 |
If you get error messages like these: |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
180 |
|
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
181 |
* /home/username/hw/hedgewars//uScript.pas:226: undefined reference to `lua_tonumber' |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
182 |
* /home/username/hw/hedgewars/CMakeFiles/hwengine.dir/uScript.o: In function `LUATOVISUALGEARTYPEORD': |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
183 |
|
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
184 |
There might be something wrong with your Lua installation. Try to install Lua 5.1. |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
185 |
If this doesn't work, or you don't want to install Lua 5.1, try to build Hedgewars |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
186 |
with the bundled Lua version. |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
187 |
|
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
188 |
To build with the bundled Lua version, adding the CMake option `SYSTEM_LUA=OFF`, then |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
189 |
repeat the building process. |
b35b6978baa4
Add Lua problems to the troubleshooting section of INSTALL.md
Wuzzy <Wuzzy2@mail.ru>
parents:
12756
diff
changeset
|
190 |
|
12756
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
191 |
### Cleaning up |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
192 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
193 |
In case you want to start over and start with a clean build, |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
194 |
run `make clean`, then go back to step 2. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
195 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
196 |
If things got seriously out of hand, you may want to reset |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
197 |
*everything* (even your configuration). If you use the |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
198 |
Mercural repository, you can run `hg purge --all`. Proceed with |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
199 |
step 1. |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
200 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
201 |
### Still can't build Hedgewars? |
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
202 |
|
838515c4e6c5
Rewrite INSTALL file: Markdown format, add troubleshooting section, more detailed build instructions, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
11867
diff
changeset
|
203 |
Visit us in the forums or IRC (see `README.md`) and ask for help. |