Difference between revisions of "Get source and compile"

From Second Life Wiki
Jump to navigation Jump to search
(Copied Ubuntu build notes from internal wiki - courtesy Cube Linden)
Line 10: Line 10:
  svn co https://www.lindenlab.dreamhosters.com/svn/linden/release/
  svn co https://www.lindenlab.dreamhosters.com/svn/linden/release/


=== Installing windows core development tools and libraries ===
== Setting up the development environment w/libraries ==
 
=== Windows ===
* Visual Studio .NET 2003 Professional
* Visual Studio .NET 2003 Professional
* Microsoft Platform SDK
* Microsoft Platform SDK
Line 19: Line 21:
** Make sure that the '''includes''' and '''libraries''' paths have the DirectX SDK paths first, then the Platform SDK paths, and then the Visual C++ paths.
** Make sure that the '''includes''' and '''libraries''' paths have the DirectX SDK paths first, then the Platform SDK paths, and then the Visual C++ paths.
* Open indra/indra_complete/indra_complete.sln and build the project.
* Open indra/indra_complete/indra_complete.sln and build the project.
== Platform notes ==
=== Linux ===
==== Ubuntu build notes ====
Ubuntu 5.10 and higher uses a newer version of libc6 with a bug fix that breaks our codebase.
If you see errors of the form:
<code>
    obj_dat.c:(.text+0x857): undefined reference to `__ctype_b'
</code>
...when you try to build our codebase then you need to enable the CTYPE_WORKAROUND.  If you use 'make' or 'dmake', add the
following lines to your ~/.bashrc file:
<code>
    export SIMULATOR_CPPFLAGS="-DCTYPE_WORKAROUND"
    export RPCSERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
    export DATASERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
    export USERSERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
    export TEST_CPPFLAGS="-DCTYPE_WORKAROUND"
</code>
If you use 'scons', add the follow line to your ~/.bashrc file:
<code>
    export SERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
</code>
Source your ~/.bashrc, or open a new terminal, and build again.

Revision as of 13:12, 13 November 2006


Even if you don't plan to develop, just the act of downloading and compiling can uncover problems. If the version you download doesn't build on your platform, file a bug.

Getting the source

Get a Subversion account from Rob Linden and check out using the following command

svn co https://www.lindenlab.dreamhosters.com/svn/linden/release/

Setting up the development environment w/libraries

Windows

  • Visual Studio .NET 2003 Professional
  • Microsoft Platform SDK
  • DirectX 9.0 SDK Update (Summer 2003)
  • Set up the project globals:
    • Start Visual C++
    • Go to Tools/Options/Projects/VC++ Directories
    • Make sure that the includes and libraries paths have the DirectX SDK paths first, then the Platform SDK paths, and then the Visual C++ paths.
  • Open indra/indra_complete/indra_complete.sln and build the project.


Platform notes

Linux

Ubuntu build notes

Ubuntu 5.10 and higher uses a newer version of libc6 with a bug fix that breaks our codebase. If you see errors of the form:

   obj_dat.c:(.text+0x857): undefined reference to `__ctype_b'

...when you try to build our codebase then you need to enable the CTYPE_WORKAROUND. If you use 'make' or 'dmake', add the following lines to your ~/.bashrc file:

   export SIMULATOR_CPPFLAGS="-DCTYPE_WORKAROUND"
   export RPCSERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
   export DATASERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
   export USERSERVER_CPPFLAGS="-DCTYPE_WORKAROUND"
   export TEST_CPPFLAGS="-DCTYPE_WORKAROUND"

If you use 'scons', add the follow line to your ~/.bashrc file:

   export SERVER_CPPFLAGS="-DCTYPE_WORKAROUND"

Source your ~/.bashrc, or open a new terminal, and build again.