Changes between Version 111 and Version 112 of BuildInstructions


Ignore:
Timestamp:
Feb 18, 2011, 8:32:35 PM (13 years ago)
Author:
Philip Taylor
Comment:

update OS X instructions

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v111 v112  
    157157 * Install Apple's XCode for your system: see your Mac OS X install DVD or go to [http://connect.apple.com Apple's Developer Connection Site]. This provides the necessary tools to compile programs. For Leopard, you must install XCode >= 3.1 from the ADC site else some components will not compile.
    158158
     159 * You may also need the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719 Java Developer Package].
     160
    159161 * Install [http://www.macports.org/install.php MacPorts]. This is the easiest way to install all the dependencies needed by the game.
    160162
     
    183185 * Select GCC 4.2 or 4.3: `sudo gcc_select mp-gcc42` or `sudo gcc_select mp-gcc43`
    184186
    185  * Take care that libdevil 1.6.8-rc2 (the version in !MacPorts) is not compatible with GCC 4.3, you'll need to install 1.7.8. Get it from http://openil.sourceforge.net/download.php, then extract the archive, and run `./configure --enable-ILU --enable-ILUT` then `make` then `sudo make install`
    186 
    187187 * You may need to patch Apple's OpenAL (`/System/Library/Frameworks/OpenAL.Framework/alc.h`: replace all `ALCvoid` by `void`, except the first one which is a `typedef`). (GCC >=4.2 is stricter about parameters invalidly typedefed to void in C++.)
    188188
     
    197197
    198198 * If you get linker errors like '''`/usr/bin/ld: Undefined symbols: ___stack_chk_fail, ___stack_chk_guard`''', this comes from using a libc that is not glibc >=2.4. Until this is detected by the build system, you can hack it by removing the "-fstack-protector-all" line (and the next line too if needed) from `build/premake/premake.lua`
    199 
    200  * If you get
    201 {{{
    202 /opt/local/include/js/jsotypes.h:77: error: conflicting declaration ‘typedef struct JSUint64 uint64’
    203 /System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:48: error: ‘uint64’ has a previous declaration as ‘typedef uint64_t uint64’
    204 }}}
    205    Run your favourite text editor as root, and edit line 77 of /opt/local/include/js/jsotypes.h from `typedef JSUint64 uint64;` to
    206 {{{
    207 #ifndef _UINT64
    208 typedef JSUint64 uint64;
    209 #define _UINT64
    210 #endif
    211 }}}
    212199
    213200 * Users of Slackware -current and 13.2 when it is released should edit the file build/premake/extern_libs.lua and remove the -mt suffixes from the boost definitions in line 79. It should look like this: