User Tools

Site Tools


client:client_compiling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
client:client_compiling [2019/05/28 02:14]
leaf List package dependencies for Peppermint 10 and the GTKv2 client
client:client_compiling [2024/02/21 15:15] (current)
leaf [Manjaro 23.0.2 (Uranos)] Version update and test date update
Line 1: Line 1:
 ====== Building the Crossfire Client ====== ====== Building the Crossfire Client ======
-This page provides information on building the GTKv2 client from source. Instructions for [[server:​server_compiling|compiling the server]] are on a separate page.+This page provides information on building the GTKv2 client from the source ​code. Instructions for [[server:​server_compiling|compiling the server]] are on a separate page.
  
-===== Quick Start =====+One of the first steps is to install the required dependencies,​ listed by Linux distribution,​ from below.
  
-To build with the default options, change ​to the source ​directory ​and run:+The second step is to obtain ​the GTKv2 Client ​source ​code and sound files via git.
  
-    $ mkdir build && cd build/ +The third step is to setup and compile the client.
-    $ cmake .. +
-    $ make +
-    # make install +
- +
-To build with minimal dependencies,​ use this CMake command instead: +
- +
-    $ cmake -DLUA=OFF -DMETASERVER2=OFF -DOPENGL=OFF -DSDL=OFF -DSOUND=OFF .. +
- +
-To build with debugging symbols: +
- +
-    $ cmake -DCMAKE_BUILD_TYPE=Debug ..+
  
-Use **ccmake** instead of **cmake** ​to change these options ​and more +Also this page includes instructions on how to update your local client installation ​and recompile the source code for those changes.
-interactively.+
  
  
-===== Dependencies =====+===== General ​Dependencies =====
   * C compiler supporting C99   * C compiler supporting C99
   * CMake   * CMake
Line 29: Line 17:
   * libpng   * libpng
   * Perl   * Perl
- 
-Optional: 
   * libcurl (for metaserver support)   * libcurl (for metaserver support)
   * Lua 5 (for client-side Lua scripting)   * Lua 5 (for client-side Lua scripting)
Line 38: Line 24:
  
 Note:  For x86_64 systems, do not mix 64-bit and 32-bit libraries unless it cannot be helped. ​ For example, libsvn0 is a 32-bit library, but lib64svn0 is the 64-bit equivalent. ​ The build process may fail in the linkage stage if a 32-bit library is linked during a 64-bit build. Note:  For x86_64 systems, do not mix 64-bit and 32-bit libraries unless it cannot be helped. ​ For example, libsvn0 is a 32-bit library, but lib64svn0 is the 64-bit equivalent. ​ The build process may fail in the linkage stage if a 32-bit library is linked during a 64-bit build.
 +
 +===== Linux Distribution Specifics =====
  
 ==== Arch Linux ==== ==== Arch Linux ====
  
 A quick reference for Arch Linux using the command line interface: ​ A quick reference for Arch Linux using the command line interface: ​
-  sudo pacman -S cmake sdl_image sdl_mixer ​subversion ​vala+  sudo pacman -S cmake git gtk2 sdl_image sdl_mixer ​sdl2_mixer ​vala
  
 +Instructions creation date: 2023-September-1
  
-==== Debian 8 (Jessie) ====+Last tested date: 2023-September-1
  
-A quick reference for Debian 8 (Jessie): 
-  apt-get install cmake libcurl4-openssl-dev libgtk2.0-dev libpng3 libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config subversion valac 
-==== Debian 9 (Stretch) ==== 
  
-A quick reference for Debian 9 (Stretch):​ +==== Debian ​====
-  apt install cmake libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config subversion valac +
-==== Fedora 25 ====+
  
-A quick reference for Fedora 25 using the command line interface:​ +==== Debian 10 (Buster) ====
-  sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala+
  
 +A quick reference for Debian 10 (Buster):
 +  sudo apt install cmake git libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl2-mixer-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config valac
 +  ​
 +Instructions creation date: 2023-September-1
  
-==== Fedora 26 ====+Last tested date: 2023-September-1 
 + 
 +==== Debian 11 (Bullseye) ​==== 
 + 
 +A quick reference for Debian 11 (Bullseye):​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl2-mixer-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config valac 
 +   
 +Instructions creation date: 2023-September-1
  
-A quick reference for Fedora 26 using the command line interface: +Last tested date2023-September-1
-  sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala+
  
-==== Fedora 27 ==== 
  
-A quick reference for Fedora 27 using the command line interface:​ +==== Debian 12 (Bookworm) ====
-  sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala+
  
-==== Fedora 28 ====+A quick reference for Debian 12 (Bookworm):
  
-A quick reference for Fedora 28 using the command line interface:​ +  ​sudo apt install cmake git libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl2-mixer-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config valac
-  ​sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala+
   ​   ​
-==== Fedora 29 ====+Instructions creation date: 2023-September-1 
 + 
 +Last tested date: 2023-September-1 
 + 
  
-A quick reference for Fedora 29 using the command line interface: 
-  sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala 
   ​   ​
-==== Fedora 30 ==== 
  
-A quick reference for Fedora 30 using the command line interface: 
-  sudo dnf install cmake gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala 
-==== Linux Mint 17.3 (Rosa) ==== 
  
-=== Command Line Interface (CLI) === 
  
-A quick reference for Linux Mint 17.3 (Rosa) using command line interface: 
  
-  sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac+==== Devuan ====
  
-==== Linux Mint 18 (Sarah) ​====+==== Devuan Chimaera 4.0 ====
  
-=== Command Line Interface ​(CLI===+A quick reference for Devuan ​(Chimaera 4.0)
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl2-mixer-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config valac 
 +   
 +Instructions creation date: 2023-September-1
  
-A quick reference for Linux Mint 18 (Sara) using command line interface: +Last tested date2023-September-1
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+
  
-==== Linux Mint 18.1 (Serena) ==== 
  
-=== Command Line Interface (CLI) ===+==== Fedora ====
  
-A quick reference for Linux Mint 18.1 (Serena) using command line interface:​ +==== Fedora 37 ====
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+
  
-==== Linux Mint 18.2 (Sonya) ====+A quick reference for Fedora 37 using the command line interface:​ 
 +  sudo dnf install cmake git gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel SDL2_mixer-devel vala
  
-=== Command Line Interface (CLI) ===+Instructions creation date: 2023-September-1
  
-A quick reference for Linux Mint 18.2 (Sonya) using command line interface: +Last tested date2023-September-1
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+
   ​   ​
-==== Linux Mint 18.3 (Sylvia) ​====+==== Fedora 38 ====
  
-=== Command Line Interface (CLI) ===+A quick reference for Fedora 38 using the command line interface:
  
-A quick reference for Linux Mint 18.3 (Sylvia) using command line interface:​ +  ​sudo dnf install cmake git gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel SDL2_mixer-devel vala
-  ​sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+
  
-==== Linux Mint 19 (Tara) ====+Instructions creation date: 2023-September-1
  
-=== Command Line Interface (CLI) ===+Last tested date: 2023-September-1
  
-A quick reference for Linux Mint 19 (Tara) using command line interface: 
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac 
-  ​ 
-==== Linux Mint 19.1 (Tessa) ==== 
  
-=== Command Line Interface (CLI) ===+==== Fedora 39 ====
  
-A quick reference for Linux Mint 19.1 (Tessa) using command line interface:​ +A quick reference for Fedora 39 using the command line interface:​ 
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev ​subversion ​valac+ 
 +  sudo dnf install cmake git gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel SDL2_mixer-devel vala 
 + 
 +Instructions creation date: 2023-September-18 
 + 
 +Last tested date: 2024-January-27 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== Linux Mint ==== 
 + 
 +==== Linux Mint 20 (Ulyana) ==== 
 + 
 +A quick reference for Linux Mint 20 (Ulyana) using command line interface:​ 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-15 
 + 
 +Last tested date: 2023-September-15 
 + 
 +==== Linux Mint 20.1 (Ulyssa) ==== 
 + 
 +A quick reference for Linux Mint 20.1 (Ulyssa) using command line interface: 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev ​valac 
 + 
 +Instructions creation date: 2023-September-18 
 + 
 +Last tested date: 2023-September-18 
 + 
 + 
 +==== Linux Mint 20.2 (Uma) ==== 
 + 
 +A quick reference for Linux Mint 20.2 (Uma) using command line interface:​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-18 
 + 
 +Last tested date: 2023-September-18 
 + 
 +==== Linux Mint 20.3 (Una) ==== 
 + 
 +A quick reference for Linux Mint 20.3 (Una) using command line interface:​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-20 
 + 
 +Last tested date: 2023-September-20 
 + 
 +==== Linux Mint 21 (Vanessa) ==== 
 + 
 +A quick reference for Linux Mint 21 (Vanessa) using command line interface:​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-20 
 + 
 +Last tested date: 2023-September-20 
 + 
 +==== Linux Mint 21.1 (Vera) ==== 
 + 
 +A quick reference for Linux Mint 21.1 (Vera) using command line interface:​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-20 
 + 
 +Last tested date: 2023-September-20 
 + 
 + 
 +==== Linux Mint 21.2 (Victoria) ==== 
 + 
 +A quick reference for Linux Mint 21.2 (Victoria) using command line interface:​ 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-mixer-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-21 
 + 
 +Last tested date: 2023-September-21 
 + 
 +==== Linux Mint Debian Debian Edition 6 ==== 
 + 
 +A quick reference for Linux Mint Debian Debian Edition 6: 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl2-mixer-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config ​valac
   ​   ​
-  ​ +Instructions creation date: 2023-September-28 
-=== Installing on Linux Mint using Synaptic ===+ 
 +Last tested date: 2023-September-28 
 + 
 + 
 +==== Installing on Linux Mint using Synaptic ===
 + 
 +FIXME - use with caution, package list has not been tested for a very long time
  
 Synaptic package manager is used to manage installation,​ update and removal of software. Synaptic package manager is used to manage installation,​ update and removal of software.
Line 146: Line 225:
  
   * cmake   * cmake
 +  * git
   * libcurl4-openssl-dev   * libcurl4-openssl-dev
-  * libglade2-dev ​+  * libglade2-dev
   * libsdl1.2-dev   * libsdl1.2-dev
-  * libsdl-image1.2-dev ​+  * libsdl-image1.2-dev
   * libsdl-mixer1.2-dev   * libsdl-mixer1.2-dev
 +  * libsdl2-mixer-dev
   * libgtk2.0-dev   * libgtk2.0-dev
-  * subversion 
   * valac   * valac
 +
  
 ==== Manjaro ==== ==== Manjaro ====
 +
 +==== Manjaro 23.1.3 (Vulcan) ====
  
 A quick reference for Manjaro using command line interface: A quick reference for Manjaro using command line interface:
-  sudo pacman -S cmake gcc make pkg-config sdl_image sdl_mixer subversion vala 
-==== OpenSUSE Leap 42.3 ==== 
  
-A quick reference for OpenSUSE Leap 42.3 +  sudo pacman -S cmake gcc git gtk2 make sdl_image sdl_mixer sdl2_mixer vala 
-  sudo zypper install cmake gcc gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel ​subversion ​vala+ 
 +Instructions creation date: 2023-September-21 
 + 
 +Last tested date: 2024-February-21 
 +==== OpenSUSE ==== 
 + 
 +==== OpenSUSE Leap 15.5 ==== 
 + 
 +A quick reference for OpenSUSE Leap 15.5 
 +  sudo zypper install cmake gcc git gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel ​libSDL2-devel libSDL2_mixer-devel ​vala 
 + 
 +Instructions creation date: 2023-September-24 
 + 
 +Last tested date: 2023-September-24
   ​   ​
 ==== OpenSUSE Tumbleweed ==== ==== OpenSUSE Tumbleweed ====
  
 A quick reference for OpenSUSE Tumbleweed A quick reference for OpenSUSE Tumbleweed
-  sudo zypper install cmake gcc gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel ​subversion ​vala+  sudo zypper install cmake gcc git gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel ​SDL2_mixer-devel ​vala 
 + 
 +Instructions creation date: 2023-September-24 
 + 
 +Last tested date: 2023-September-24  
 + 
 +NOTE: the first client launch after compile may result in a warning about UI dialogs not being available. Exit the client and try launching again. 
 +==== Pop!_OS ==== 
 + 
 +==== Pop!_OS 22.04 LTS ==== 
 + 
 +A quick reference for Pop!_OS 22.04 LTS: 
 + 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl2-mixer-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac
  
-==== Peppermint 10 ====+Instructions creation date: 2023-September-25
  
-A quick reference for Peppermint 10: +Last tested date2023-September-25
-  sudo apt install libcurl4-openssl-dev libgl1-mesa-dev libgtk2.0-dev libsdl-image1.2-dev libsdl-mixer1.2-dev mesa-common-dev pkg-config subversion valac+
  
-==== Ubuntu ​14.04 LTS (Trusty Tahr) ====+==== Ubuntu ====
  
-A quick reference ​for Ubuntu ​14.04 LTS (Trusty Tahr)+The dependency and instructions ​for the listed versions of Ubuntu ​includes or applies to all eight of the different flavours including
-  ​sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac+  ​* Kubuntu 
 +  * Lubuntu 
 +  * Ubuntu Budgie 
 +  * Ubuntu Kylin 
 +  * Ubuntu Mate 
 +  * Ubuntu Studio 
 +  * Ubuntu Unity 
 +  * Xubuntu
  
-==== Ubuntu 16.04 LTS (Xenial Xerus) ==== 
  
-A quick reference for Ubuntu 16.04 (Xenial Xerus): 
-  sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac 
  
-==== Ubuntu 17.04 (Zesty Zapus) ==== 
  
-A quick reference for Ubuntu 17.04 (Zesty Zapus): 
-  sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac 
   ​   ​
-==== Ubuntu 17.10 (Artful Aardvark) ==== 
  
-A quick reference for Ubuntu 17.10 (Artful Aardvark): + 
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+ 
   ​   ​
-==== Ubuntu 18.04 LTS (Bionic Beaver) ==== 
  
-A quick reference for Ubuntu ​18.04.2 LTS (Bionic Beaver): +==== Ubuntu 20.04 (Focal Fossa) ==== 
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev ​subversion ​valac+ 
 +A quick reference for Ubuntu ​20.04 (Focal Fossa): 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl2-mixer-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac
   ​   ​
-==== Ubuntu 18.10 (Cosmic Cuttlefish) ====+Instructions creation date: 2023-August-30
  
-A quick reference for Ubuntu 18.10 (Cosmic Cuttlefish): +Last tested date2023-August-30
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac+
   ​   ​
-==== Ubuntu ​19.04 (Disco Dingo) ====+==== Ubuntu ​22.04 (Jammy Jellyfish) ====
  
-A quick reference for Ubuntu ​19.04 (Disco Dingo): +A quick reference for Ubuntu ​22.04 (Jammy Jellyfish): 
-  sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev ​subversion ​valac +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl2-mixer-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac
-===== Obtaining the Source ===== +
-  * [[Trunk]] contains the newest features and development for the game +
-  * [[Branch]] contains the most recent "​stable"​ version of the game +
-  * Tags is an official & stable release of the game+
  
-**IMPORTANT** ​One should be consistent with what is checked out; meaning use all trunk server & archetypes & maps or branches/​1.x server & archetypes & maps or tags/1.72.0 server & archetypes & maps otherwise a strong risk of failure due to incompatibilities exists (broken maps, missing graphics, etc.)+Instructions creation date: 2023-September-29
  
-The follow steps may be used to download the client source files to your computer.+Last tested date: 2023-September-29 ​
  
-=== Trunk === +==== Ubuntu 23.10 (Mantic Minotaur) ====
-  $ svn co http://​svn.code.sf.net/​p/​crossfire/​code/​client/​trunk client.svn+
  
-=== Branch ​=== +A quick reference for Ubuntu 23.10 (Mantic Minotaur) using the command line interface:​ 
-These steps have you download ​branches/1.12+ 
 +  sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl2-mixer-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac 
 + 
 +Instructions creation date: 2023-September-26 
 + 
 +Last tested date: 2024-February-9 
 + 
 + 
 +===== Obtaining the Source Code ===== 
 +  * Master contains the newest features and development for the game 
 +  * Tags is an official & stable release of the game 
 + 
 +The following ​steps may be used to download ​the client source files to your computer. Just pick one option between Master or Tag. Master is the recommended option. 
 + 
 +=== Master === 
 +  $ git clone https://git.code.sf.net/​p/​crossfire/​crossfire-client crossfire-crossfire-client
  
-  $ svn co http://​svn.code.sf.net/​p/​crossfire/​code/​client/​branches/​1.12 client.svn 
  
 === Tag === === Tag ===
-Here's how to download Tag using the 1.72.release as an example+Here's how to download Tag using the 1.75.release as an example 
 + 
 +  $ git clone -b v1.75.2 https://​git.code.sf.net/​p/​crossfire/​crossfire-client crossfire-crossfire-client 
 +  
 +See instructions below for obtaining game sounds for the client. 
 +===== Compile Instructions ===== 
 + 
 +To build with the default options, change to the recently downloaded or pulled client source directory (i.e., /​home/<​username>/​crossfire-crossfire-client):​ 
 + 
 +    cd crossfire-crossfire-client/​ 
 + 
 +Confirm that you are in the correct directory with the pwd command, and it should look like this: 
 + 
 +    $ pwd 
 +    /​home/<​username>/​crossfire-crossfire-client 
 + 
 +Run git pull to download the game sounds and automatically save them in the directory that the client needs: 
 + 
 +    $ git clone https://​git.code.sf.net/​p/​crossfire/​crossfire-sounds sounds 
 + 
 +The first time you compile, you will need create a directory called build - but after this initial time, the directory creation is not necessary. 
 + 
 +   $ mkdir build 
 +    
 + ​Change (or cd) in to the build directory:​ 
 + 
 +   $ cd build 
 +    
 + ​Double check the file path with the pwd command: 
 + 
 +   $ pwd 
 +   /​home/<​username>/​crossfire-crossfire-client/​build 
 + 
 +Now run the cmake command - or check the other options below; this step is using the default cmake command from inside the build directory:​ 
 + 
 +   $ cmake .. 
 +   
 +You should see numerous lines of text scroll by. If an problems are encountered in this step, it will be listed in this output. 
 + 
 +From inside the build directory, run the make command: 
 + 
 +  $ make 
 + 
 +Once again, you should see numerous lines of text scroll by. If this step was successful, you will see the following text: 
 + 
 +     ​[100%] Built target crossfire-client-gtk2 
 + 
 +Any errors or problems encountered,​ please reach out to the Crossfire development team and community via IRC, Discord, or Mailing Lists. IRC and Discord will have the fastest turn around time and interaction. 
 + 
 +And one more step, running make install from within the build directory, this step requires sudo access or to be run with root access rights: 
 + 
 +    $ sudo make install 
 + 
 +or 
 + 
 +    # make install 
 + 
 +You should see numerous lines of scrolling text again for this step. If all goes well, you should be returned back to your regular shell prompt and no text indicating errors or problems. 
 + 
 +Now to launch the client - a desktop shortcut should have been automatically created so the client should appear in the Application Menu. (i.e., Activities → Search → Crossfire Client) 
 + 
 +Other ways to launch the client using the command line: 
 + 
 +From within the directory crossfire-crossfire-client:​ 
 + 
 +    $ ./​gtk-v2/​src/​crossfire-client-gtk2 
 +  
 +From your home directory:​ 
 + 
 +    $ ./​crossfire-crossfire-client/​build/​gtk-v2/​src/​crossfire-client-gtk2 
 + 
 + 
 +Optional options: 
 + 
 +To build with minimal dependencies,​ use this CMake command instead: 
 + 
 +    $ cmake -DLUA=OFF -DMETASERVER2=OFF -DOPENGL=OFF -DSDL=OFF -DSOUND=OFF .. 
 + 
 +To build with debugging symbols: 
 + 
 +    $ cmake -DCMAKE_BUILD_TYPE=Debug .. 
 + 
 +To install in a custom location (autotools //​--prefix//​):​ 
 + 
 +    $ cmake -DCMAKE_INSTALL_PREFIX=/​path/​to/​where/​you/​want .. 
 + 
 +Use **ccmake** instead of **cmake** to change these options and more interactively. 
 + 
 +===== Updating the Client and Sound Files ===== 
 + 
 +Steps for updating the client code and sound files use the git pull command. 
 + 
 +Change (cd) in to the the client directory that was created in the earlier steps. 
 + 
 +    $ cd crossfire-crossfire-client/​ 
 + 
 +To confirm, the path to this folder looks like this: 
 + 
 +    $ pwd 
 +    /​home/<​username>/​crossfire-crossfire-client 
 +     
 +Now run the git pull command: 
 + 
 +    $ git pull 
 +     
 +IF there are no updates, you will see the following:​ 
 + 
 +    $ git pull 
 +    Already up to date. 
 +     
 +If updates are available, they will be automatically downloaded for you. 
 + 
 +Now, check and see if there are any updates to the sound files: 
 + 
 +    $ cd sounds/ 
 + 
 +Check for updates with the git pull command: 
 + 
 +    $ git pull 
 +    Already up to date. 
 +     
 +If updates are available, they will be automatically downloaded for you. 
 + 
 +Now change (cd) to the build directory (this directory was manually created during the first compile process for the client): 
 + 
 +    $ cd ../build/ 
 +     
 +Confirm you are in the correct directory with the pwd command: 
 + 
 +    $ pwd 
 +    /​home/<​username>/​crossfire-crossfire-client/​build 
 + 
 +Now run the cmake command: 
 + 
 +    $ cmake .. 
 + 
 +You should see numerous lines of text scroll by. If an problems are encountered in this step, it will be listed in this output. 
 + 
 +From inside the build directory, run the make command: 
 + 
 +    $ make 
 + 
 +Once again, you should see numerous lines of text scroll by. If this step was successful, you will see the following text: 
 + 
 +   ​[100%] Built target crossfire-client-gtk2 
 +    
 +Any errors or problems encountered,​ please reach out to the Crossfire development team and community via IRC, Discord, or Mailing Lists. IRC and Discord will have the fastest turn around time and interaction. 
 + 
 +And one more step, running make install from within the build directory, this step requires sudo access or to be run with root access rights: 
 + 
 +  $ sudo make install 
 + 
 +or 
 + 
 +  # make install 
 + 
 +You should see numerous lines of scrolling text again for this step. If all goes well, you should be returned back to your regular shell prompt and no text indicating errors or problems. 
 + 
 + 
 +===== Live Example ===== 
 + 
 +Using Ubuntu as a live example: 
 + 
 +    sudo apt install cmake git libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev valac 
 +     
 +    git clone https://​git.code.sf.net/​p/​crossfire/​crossfire-client crossfire-crossfire-client 
 +     
 +    cd crossfire-crossfire-client/​ 
 +     
 +    git clone https://​git.code.sf.net/​p/​crossfire/​crossfire-sounds sounds 
 +    
 +    mkdir build 
 +    
 +    cd build/ 
 +    
 +    cmake .. 
 +    
 +    make 
 +    
 +    sudo make install
  
-  $ svn co http://​svn.code.sf.net/​p/​crossfire/​code/​client/tags/1.72.0 client.svn+Now launch the client ​(i.e., Activities -> Search -> Crossfire Client)
client/client_compiling.1559027681.txt.gz · Last modified: 2019/05/28 02:14 by leaf