Crossfire on MacOS X - Intel

FIXME – Instructions are still under development, use with caution

Client

Installation

There are two ways to install the Crossfire clients, one is Fink which is a project that ports Unix software to Mac OS X. The other option is to compile Crossfire via source code.

Fink

Ok there are a few ways to get the crossfire client to work on OSX.

Quick Instructions:

  1. Download the installer disk image:
  2. Double-click the .dmg to mount the disk image
  3. Double-click the “Fink Installer.pkg” package inside. Follow the instructions on screen.
  4. Open a new Terminal.app window and run the following: fink scanpackages; fink index
  5. Once that is finished, install any updates available for Fink. In the same Terminal.app window enter the following: sudo apt-get update ; sudo apt-get install fink
    1. Another option for updating: fink selfupdate;fink update-all

Note: Leopard Users will need to compile from source as there is binary release available

There is a version of the the cfclient on fink but it is version 1.7 which does not have the bells and whistles that are included in 1.10 besides why run 1.7 when you can just run 1.10.

Experimental Package

Once the client has been successfully installed, there is a .dmg file available for download that will let you run any of the three clients (crossfire-client-x11, crossfire-client-gtk and crossfire-client-gtk2)

Installation instructions:

  1. Wait for the file to download and follow the screen prompts
  2. Accept the prompts about installing the package
  3. In a new window, click on the client you wish to run
    1. For crossfire-client-x11 client: cfclient
    2. For crossfire-client-gtk: gcfclient
    3. For crossfire-client-gtk2: gcfclient2

Note: With the GTKv2 client, after first launching click on the green “+” which will then let you resize the client window.

Note: The binary files where compiled on Os X 10.5, I don’t know as of now if they will work on past versions.

Compile via Source Code

Compiling from source code requires some additional files to be downloaded.

  1. You should have Subversion installed by default. You can check with this command in a Terminal.app window: svn –help
  2. Run Subversion to download the latest snapshot of the client source code.
  3. You will need libpng to compile the client
    1. Double click the .dmg package and follow the on screen prompts and instructions
  4. Change directories to client.svn and run the following commands:
    1. export CFLAGS=”-ggdb -g -O0”; ./autogen.sh –prefix=${HOME}
    2. sh autogen.sh
    3. make
    4. sudo make install
  5. You can now run the clients via the command crossfire-client-gtk2, crossfire-client-gtk, or crossfire-client-x11

Server

Please note. The server will compile and run but stability as not been tested. Please let us know what you find out with it.

Start Here

 $ pwd
 /Users/<username>

Download

Trunk

 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn
 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn
 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn

SETUP

This confirms that you are still in your home directory

 $ pwd
 /Users/<username>

Now change directory (hence the cd) to the directory that contains the server files

 $ cd server.svn

This confirms that you are in the server directory

 $ pwd
 /Users/<username>/server.svn

This step “links” two directories to each other which makes the compile process more automated

 $ sudo ln -s /Users/<username>/maps.svn maps

This step “links” two directories to each other which makes the compile process more automated and is used by the server once Crossfire server is up and running. This links the server to the map files which you downloaded earlier.

First, create the necessary directory tree for the map files with this command:

 $ sudo mkdir /usr/games/crossfire;sudo mkdir /usr/games/crossfire/share; sudo mkdir /usr/games/crossfire/share/crossfire

What that does, is it creates a directory located here: /usr/games/crossfire/share/crossfire

Now this step “links” two directories to each other which makes the compile process more automated

 $ sudo ln -s /Users/<username>/maps.svn /usr/games/crossfire/share/crossfire/maps

Now change directory (hence the cd) to the directory that contains the library files

 $ cd lib

Double check that you are in the correct directory

 $ pwd
 /Users/<username>/server.svn/lib

This step “links” two directories to each other which makes the compile process more automated. This links the arch or archetype files to the server files which you downloaded earlier.

 $ ln -s /Users/<username>/arch.svn ./arch

Go back another directory

 $ cd ..

Double check that you are in the correct directory which is the server directory

 $ pwd
 /Users/<username>/server.svn

Compile

This section may be easy but it also may not be easy. NOTE: This process has only been tested on one computer and the server stability HAS NOT BEEN TESTED.

First, build the configure script. From /Users/<username>/server.svn

 $ automake
 $ chmod +x autogen.sh
 $ ./autogen.sh --enable-static --disable-shared CFLAGS=-ste=c99 --disable-check

Now we will run the rest

 $ make
 $ make install

Dependencies

List of crossfire-server dependencies:

 $ otool -L /Users/<username>/server.svn/server/crossfire-server 
 /Users/<username>/server.svn/server/crossfire-server:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
    /sw/lib/libcurl.3.dylib (compatibility version 4.0.0, current version 4.0.0)
    /usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

Full list of gclient2 dependencies:

$ otool -L /usr/local/bin/gcfclient2
/usr/local/bin/gcfclient2:
      /sw/lib/libgtk-x11-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /sw/lib/libgdk-x11-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /usr/X11/lib/libXrandr.2.dylib (compatibility version 3.0.0, current version 3.0.0)
      /usr/X11/lib/libXinerama.1.dylib (compatibility version 2.0.0, current version 2.0.0)
      /usr/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
      /usr/X11/lib/libXfixes.3.dylib (compatibility version 5.0.0, current version 5.0.0)
      /usr/X11/lib/libXcursor.1.dylib (compatibility version 2.0.0, current version 2.2.0)
      /sw/lib/libatk-1.0.0.dylib (compatibility version 1215.0.0, current version 1215.0.0)
      /sw/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /sw/lib/libpangoxft-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libXft.2.dylib (compatibility version 4.0.0, current version 4.2.0)
      /usr/X11/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0)
      /sw/lib/libpangox-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
      /sw/lib/libpangoft2-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libfontconfig.1.dylib (compatibility version 3.0.0, current version 3.0.0)
      /usr/X11/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.16.0)
      /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
      /sw/lib/libpango-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
      /sw/lib/libgobject-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libgmodule-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libglib-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libintl.3.dylib (compatibility version 8.0.0, current version 8.3.0)
      /sw/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
      /sw/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.2.0)
      /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
      /sw/lib/libSDL_image-1.2.0.dylib (compatibility version 2.0.0, current version 2.5.0)
      /sw/lib/libpng12.0.dylib (compatibility version 19.0.0, current version 19.0.0)
      /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
 
osx.txt · Last modified: 2008/03/14 18:41 by 69.92.59.77
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki