[Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_client_compile_guide

no-reply_wiki at metalforge.org no-reply_wiki at metalforge.org
Thu Mar 27 21:59:35 CDT 2014


A page in your DokuWiki was added or changed. Here are the details:

Date        : 2014/03/27 21:59
User        : partmedia
Edit Summary: Remove information about old clients

@@ -1,81 +1,61 @@
- This is a quide on how to download crossfire-client sources from SVN and basic instructions on compiling a crossfire client for local use or testing.  Please post build instructions for various operating environments.
+ ====== Compiling the Crossfire GTK2 Client ======
  
- ===== *nix =====
+ This document describes how to build and install the Crossfire GTK2 client from source. Instructions for [[crossfire_compile_guide|building the server]] are on a separate page.
  
+ ===== Dependencies =====
  
- ==== Requirements ==== 
+ The following is a (work-in-progress) list of dependencies used by the Crossfire GTKv2 client. If something is missing, carefully look over the results of the `configure` script.
  
- Many of these packages (listed alphabetically) may already be installed on your system, but this list may help with setup of a build environment.  When in doubt, carefully look over the results of the ./configure step as it will often imply when packages are missing.  Everything is not always required, but without everything, certain functionality may be disabled.
+ ==== Required Dependencies ====
  
- ===General===
+ If you are planning to compile something, a compiler would be useful. Both GCC and Clang are known to work well. A `make` utility is also required. Both GNU and BSD `make` are known to work.
+ 
+ If you are building from the latest development sources, you will need Subversion and GNU Autotools:
+ 
+   * subversion - advanced version control system (aka. svn)
  
    * autoconf - automatic configure script builder
      * Normally autoconf is not required for building, but the current SVN client trunk does require it.
    * automake - A tool for generating GNU Standards-compliant Makefiles.
+   * libtool - Generic library support script
    * flex - A fast lexical analyzer generator
-     * m4 - a macro processing language (required by flex)
-   * gcc - The GNU C compiler
+ 
+ The following are needed for metaserver support:
+ 
    * libcurl3 - Multi-protocol file transfer library (OpenSSL)
    * libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL)
+ 
+ The following are needed for the GUI:
+ 
    * libgd-tools - GD command line tools and example code
-     * libgd2-noxpm - GD Graphics Library version 2 (without XPM support) (required by libgd-tools)
    * libgd2-xpm-dev - GD Graphics Library version 2 (development version)
+ 
    * libsdl1.2-dev - Simple DirectMedia Layer development files
    * libsdl-image1.2-dev - development files for SDL 1.2 image loading library
-   * libtool - Generic library support script
-   * make - The GNU version of the "make" utility
-   * subversion - advanced version control system (aka. svn)
-       * libapr0 - the Apache Portable Runtime (required by subversion)
-       * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion)
- 
- As a quick reference:
- 
-   sudo apt-get install autoconf automake flex gcc libgd-tools libgd2-xpm-dev libtool make subversion libsdl1.2-dev libsdl-image1.2-dev libcurl3 libcurl4-openssl-dev
- 
- ===X11 Client (Deprecated)===
- 
-   * x11-common - X Window System (X.Org) infrastructure (FIXME - double check this package)
- 
- As a quick reference:
- 
-   sudo apt-get install x11-common
- 
- ===GTKv1 Client (Deprecated)===
- 
-   * libgtk1.2-dev - Development files for the GIMP Toolkit
- 
- As a quick reference:
- 
-   sudo apt-get install libgtk1.2-dev
- 
- ===GTKv2 Client===
  
    * libgtk2.0-0 - The GTK+ graphical user interface library
    * libgtk2.0-dev - Development files for the GTK+ library
    * libglade2-0 - library to load .glade files at runtime
    * libglade2-dev - development files for libglade
  
  As a quick reference:
+ 
+   sudo apt-get install autoconf automake flex gcc libgd-tools libgd2-xpm-dev libtool make subversion libsdl1.2-dev libsdl-image1.2-dev libcurl3 libcurl4-openssl-dev
  
    sudo apt-get install libgtk2.0-0 libgtk2.0-dev libglade2-0 libglade2-dev  
  
  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.
  
- Note2: libgtk-3-dev has been reported to cause conflicts with the libgtk2.0 packages when both are installed.  Uninstalling libgtk-3-dev resolves this conflict.
- 
- ==== Recommended Packages ====
+ ==== Optional Dependencies ====
  
  Recommended packages provide additional add-ons or functionality to the client, or allow more than one client to be built.  It is quite possible to get a perfectly acceptable client functional without having all of the recommended packages.
  
-   * libsdl1.2-dev - Simple DirectMedia Layer development files
-   * libsdl-image1.2-dev - development files for SDL 1.2 image loading libray
    * lua5.1 - Simple, extensible, embeddable programming language
-   * FIXME ( any more?)
  
  As a quick reference:
  
-   sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev lua5.1
+   sudo apt-get install lua5.1
  
  ==== Useful Packages ====
  
  These useful packages are not normally required for end-user builds, but they come in handy in cases where developers may have forgotten to check in changes to build scripts, etc.
@@ -85,19 +65,9 @@
      * Not required, but `sudo make install` is useful for installing to system directories.
      * sudo is also useful for installing packages that are missing.
      * Do not run `make` as the root user for security reasons.
  
- ==== START HERE ====
- 
- This is the starting point and confirms you are located in your home directory
- 
-    $ cd ~
-    $ pwd
-    /home/<username>
- 
- 
- 
- ==== DOWNLOAD ====
+ ===== Download 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
@@ -122,9 +92,9 @@
  
    $ svn co http://svn.code.sf.net/p/crossfire/code/client/tags/1.10.0 client.svn
  
  
- ==== SETUP ====
+ ===== Setup Environment =====
  
  Confirm that you are still in your home directory
  
     $ cd ~
@@ -155,81 +125,13 @@
  The autogen.sh script re-creates the configure (./configure) script.  It accepts the same options as would normally be pass to ./configure.  This command requires both autoconf and automake to be installed.
  
  This process attempts to locate required resources, and also discover whether or not required resources are installed.  It is okay to proceed directly to compilation, but almost certainly the output of the ./configure process needs to be review, and packages may need to be installed based upon what features or functionality is desired.  The ./configure output generally indicates whether it will  or will not build particular clients.
  
- ==== COMPILE ====
+ ===== Compile and Install =====
  
  Now, begin the compile process; choose one of the following:
  
    $ make && make install
  
  Some setups may require you to use sudo, like so:
  
    $ make && sudo make install
- 
- ==== LAUNCH ====
- 
- Once the server has been successfully built (aka compiled), you need to launch the Crossfire Server application
- 
- Double check that you are in the correct directory which is the server directory
- 
-    $ pwd
-    /home/<username>/client.svn
- 
- Note:  For the GTK clients, the version numbers are sometimes confusing.  The first client to use GTK is often called the GTK 1 client because it was originally compiled with GTK+-1.x, but now it is often compiled with  GTK+-2.x.  The second client developed with GTK is called the gtk-v2 client.  It used to be built with GTK+-2.x, but has now been converted to build against libglade-2.0 (which requires GTK+-2.0 and other related libraries).  The gtk-v2 client is designed to build with GTK+1.0 libraries.
- 
- ===X11 Client===
- 
- Change to the x11 directory with the following command:
- 
-   $ cd x11
- 
- Double check your location with:
- 
-   $ pwd
-   /home/<username>/client.svn/x11
- 
- Then launch the client with the following command:
- 
-   $ ./crossfire-client-x11 &
- 
- The command runs the Crossfire Client and returns you back to a shell prompt
- 
- ===GTKv1 Client===
- 
- Change to the x11 directory with the following command:
- 
-   $ cd gtk
- 
- Double check your location with:
- 
-   $ pwd
-   /home/<username>/client.svn/gtk
- 
- Then launch the client with the following command:
- 
-   $ ./crossfire-client-gtk &
- 
- The command runs the Crossfire Client and returns you back to a shell prompt
- 
- ===GTKv2 Client===
- 
- Change directory the gtk-v2 directory
- 
-   $ cd gtk-v2/src
- 
- Your file directory path should look like this:
- 
-    $ pwd
-    /home/<username>/client.svn/gtk-v2/src
- 
- Then launch the client with the following command:
- 
-   $ ./crossfire-client-gtk2 &
- 
- The command runs the Crossfire Client and returns you back to a shell prompt
- 
- FIXME Add gdb instructions and discus possible issues regarding .glade layout files.
- 
- ===== Microsoft (c) Windows =====
- 
- FIXME


IP-Address  : 108.78.191.158
Old Revision: http://wiki.metalforge.net/doku.php/crossfire_client_compile_guide?rev=1367009502
New Revision: http://wiki.metalforge.net/doku.php/crossfire_client_compile_guide

-- 
This mail was generated by DokuWiki at
http://wiki.metalforge.net/



More information about the crossfire-wiki mailing list