| 214 | |
| 215 | |
| 216 | ==== CentOS ==== |
| 217 | |
| 218 | Discussion of installing on //CentOS 7// can be found on the forums [https://wildfiregames.com/forum/index.php?/topic/24985-installation-on-centos-7 here]. |
| 219 | |
| 220 | **Note:** The advice below is derived from installing in a Virtual Machine with //CentOS 7// 64-bit minimally installed. If you have //CentOS 6// (or earlier), the following steps may not be possible. Installation on a physical machine, a machine with more stuff already installed upon it, or a machine that is 32-bit, may differ slightly. |
| 221 | |
| 222 | 1. Firstly, you will need to enable the "Extra Packages for Enterprise Linux" (or "EPEL") repository (if you haven't already). You can do this by running (as root/via sudo) |
| 223 | {{{ #!sh |
| 224 | yum install epel-release |
| 225 | }}} |
| 226 | |
| 227 | 2. Install some auxiliary packages. These are not dependencies of 0AD itself, but are necessary to run update_workspaces.sh successfully. They might already be installed on your system: |
| 228 | {{{ #!sh |
| 229 | yum install bzip2 patch |
| 230 | }}} |
| 231 | |
| 232 | 3. Install the 0AD dependencies that are available directly from repos: |
| 233 | {{{ #!sh |
| 234 | yum install cmake gcc-c++ enet-devel libglvnd-devel gloox-devel libicu-devel nspr-devel \ |
| 235 | libogg-devel libpng-devel libsodium-devel libvorbis-devel libXcursor-devel libxml2-devel \ |
| 236 | miniupnpc-devel openal-soft-devel subversion wxGTK3-devel zlib-devel SDL2-devel |
| 237 | }}} |
| 238 | |
| 239 | 4. Acquire a sufficiently recent version of //libcurl//: |
| 240 | * From this site: https://mirror.city-fan.org/ftp/contrib/libraries/, download the two files that satisfy one of the following patterns: |
| 241 | - `libssh2-{version}.cf.rhel7.{arch}.rpm` |
| 242 | - `libssh2-devel-{version}.cf.rhel7.{arch}.rpm` |
| 243 | * From this site: https://mirror.city-fan.org/ftp/contrib/sysutils/Mirroring/, download the three files that satisfy one of the following patterns: |
| 244 | - `curl-{version}.cf.rhel7.{arch}.rpm` |
| 245 | - `libcurl-{version}.cf.rhel7.{arch}.rpm` |
| 246 | - `libcurl-devel-{version}.cf.rhel7.{arch}.rpm` |
| 247 | * Install some dependencies from repos: |
| 248 | {{{ #!sh |
| 249 | yum install nss-devel libnghttp2 libpsl libmetalink |
| 250 | }}} |
| 251 | * Install dependencies from downloaded packages. |
| 252 | [[BR]][[BR]] |
| 253 | **Note:** This will replace the version of //libssh2// that is provided by the //CentOS// official repos. This is necessary as the version of //libcurl// we're installing needs a more up-to-date version than what the official repos can provide. As the packages we've acquired are compiled as to be interoperable with //CentOS// systems, this shouldn't cause any problems with other programs installed on your system. |
| 254 | [[BR]][[BR]] |
| 255 | Install the `libssh2-*` and `libssh2-devel-*` packages using `rpm -Uvh`. For example: |
| 256 | {{{ #!sh |
| 257 | rpm -Uvh libssh2-1.8.0-8.0.cf.rhel7.x86_64.rpm libssh2-devel-1.8.0-8.0.cf.rhel7.x86_64.rpm |
| 258 | }}} |
| 259 | * Install the updated //curl// packages (`curl-*`, `libcurl-*` and `libcurl-devel-*`) using `rpm -Uvh`. For example: |
| 260 | {{{ #!sh |
| 261 | rpm -Uvh curl-7.61.1-3.0.cf.rhel7.x86_64.rpm libcurl-7.61.1-3.0.cf.rhel7.x86_64.rpm libcurl-devel-7.61.1-3.0.cf.rhel7.x86_64.rpm |
| 262 | }}} |
| 263 | |
| 264 | 5. Acquire a sufficiently recent version of //boost//: |
| 265 | * From https://www.boost.org/users/history/version_1_68_0.html, download `boost_1_68_0.tar.gz`. |
| 266 | * Uncompress archive: |
| 267 | - $ `tar -xf boost_1_68_0.tar.gz` |
| 268 | * Enter folder: |
| 269 | - $ `cd ./boost_1_68_0` |
| 270 | * Compile the parts that are needed to be compiled, and install the libraries: |
| 271 | - $ `./bootstrap.sh --with-libraries=filesystem,system` |
| 272 | - # `./b2 install` |
| 273 | - (Compiled files end up in `/usr/local/lib/`, header files in `/usr/local/include/boost/`) |
| 274 | |
| 275 | 6. You should now have all dependencies for 0AD. Continue by [#Gettingthecode getting the code], as described below. |