Changes between Version 204 and Version 205 of BuildInstructions


Ignore:
Timestamp:
Apr 28, 2013, 3:47:45 AM (11 years ago)
Author:
historic_bruno
Comment:

Adds note about MSVC debug heap

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v204 v205  
    2626[[br]]
    2727
     28----
     29
    2830== Windows ==
    2931
     
    4042 * Visual C++ 2008
    4143
    42 '''Note:''' Visual C++ 2005 may work with a sufficiently modern Platform SDK.
    43 
    44 '''Note:''' Only 32-bit builds are supported (though they can be compiled and run on 64-bit Windows)
    45 
    46 '''Note:''' We have noticed occasional trouble with the free Express Editions; please consider acquiring the full version (e.g. via university programs).
    47 In particular, failures of the built-in self-test test_wdbg_sym.h seem to occur with VC2008 EE but not VC2008 nor VC2010 (c.f. #884).
     44'''Important notes:'''
     45 * Visual C++ 2005 may work with a sufficiently modern Platform SDK.
     46 * Only 32-bit builds are supported (though they can be compiled and run on 64-bit Windows)
     47 * It is recommended to set the '''`_NO_DEBUG_HEAP=1`''' environment variable, if running the game inside the Visual Studio debugger, as the debug heap will substantially slow the game even in release builds. This can be set in Windows where it will affect every Visual Studio project, or in the project itself (project Properties > Configuration Properties > Debugging > Environment).
     48 * We have noticed occasional trouble with the free Express Editions; please consider acquiring the full version (e.g. via university programs). In particular, failures of the built-in self-test `test_wdbg_sym.h` seem to occur with VC2008 EE but not VC2008 nor VC2010 (c.f. #884).
    4849
    4950
     
    9192
    9293[[br]]
     94
     95----
    9396
    9497== Linux ==
     
    261264== Creating Linux packages ==
    262265If you want to create packages for a Linux distribution see the current [http://anonscm.debian.org/viewvc/pkg-games/packages/trunk/0ad/debian/ 0ad] and [http://anonscm.debian.org/viewvc/pkg-games/packages/trunk/0ad-data/debian/ 0ad-data] packages on OBS for examples (especially the `control` and `rules` files).
    263 [[br]]
     266
     267[[BR]]
     268
     269----
    264270
    265271== OS X ==
     
    304310 * '''-j3''' gives the number of parallel builds to run, and should typically be one plus the number of CPU cores available.
    305311 * When it's finished, there should be a complete '''0ad app''' bundle in `build/workspaces`. Consider packaging the bundle inside a DMG for distribution (see ReleaseProcess).
     312
     313[[BR]]
     314
     315----
    306316
    307317== BSD ==
     
    359369 * You probably need to rename the generated !SpiderMonkey lib to `libmozjs185-ps-{debug,release}.so.1.0.1.0` and run pyrogenesis with `LD_PRELOAD=/usr/local/lib/libogg.so.6.2:/usr/local/lib/libvorbis.so.8.0` (see #1463).
    360370
     371[[BR]]
     372
     373----
     374
    361375== Known problems and solutions ==
    362376 * If you get linker errors like '''`cannot find -lboost_signals-mt`''' (particularly users of Arch Linux or Slackware), edit the file [source:/ps/trunk/build/premake/extern_libs4.lua build/premake/extern_libs4.lua] and remove the `-mt` suffix from the Boost `unix_name` definitions, then run `update-workspaces.sh` again.
    363377
    364  * If you get errors like the following on OS X
    365 {{{
    366 ld: warning: ignoring file /usr/local/lib/libpng.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64)
    367 Undefined symbols for architecture x86_64:
    368 ...
    369 ld: symbol(s) not found for architecture x86_64
    370 }}}
    371  make sure there are no conflicting libraries in e.g. `/usr/local/lib`. Mac Ports uses `/opt/local` only, and files in `/usr/local` can interfere with the build process by taking precedence over valid OS X and Mac Ports paths. '''Note: these are not OS X-bundled lib paths, those are located in `/System/Library` or `/usr/lib`.''' You may be able to simply rename `/usr/local` ''temporarily'' to work around this conflict.
    372 
    373378 * If you get linker errors like '''`multiple definition of '(anonymous namespace)::_1'`''', particularly when using GCC 4.1, try running `./update-workspaces.sh --without-pch` and then `cd gcc; make clean` and rebuild.
    374379
     
    381386   before compiling.
    382387
    383  * If the !SpiderMonkey build fails with errors like:
    384 {{{
    385 Can't open perl script "../build/autoconf/acoutput-fast.pl": No such file or directory
    386 not updating unwritable cache ./config.cache
    387 creating ./config.status
    388 creating Makefile
    389 sed: can't read ../Makefile.in: No such file or directory
    390 ...
    391 }}}
    392    then you are likely using a build directory with spaces in its path. !SpiderMonkey's build system isn't designed to cope with spaces in the source path (see #916). Rename your build directory so that it doesn't contain any spaces.
    393 
    394388 * If in Visual Studio 2010 build of pyrogenesis fails with link error like:
    395389{{{