Difference between revisions of "Get source and compile"

From Second Life Wiki
Jump to navigation Jump to search
Line 41: Line 41:
* Download [http://sourceforge.net/project/showfiles.php?group_id=10127 Expat Win32 Binary]
* Download [http://sourceforge.net/project/showfiles.php?group_id=10127 Expat Win32 Binary]
* Run Setup, and install to a convenient location (I installed to my desktop)
* Run Setup, and install to a convenient location (I installed to my desktop)
* Open the installed directory, and in "Source\lib\" copy the expat.h and expat_external.h to the "include\expat\' folder.
* Open the installed directory, and in "Source\lib\" copy the "expat.h" and "expat_external.h" files to the "include\expat\" folder.


===== ZLib =====
===== ZLib =====
* Create a "zlib" folder inside of the "include" folder.
* Download [http://www.zlib.net/ Zlib]
* Extract the archive to a convenient location. 
* Open the extracted firectory, and copy the "zlib.h" and "zconf.h" files to the "include\zlib" folder.


== Platform notes ==
== Platform notes ==

Revision as of 19:13, 5 December 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

The Second Life source code can be downloaded from our Subversion repository at

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

You can download the files using your web browser, but it is recommended that you use a Subversion Client You can download a command line client for most operating systems at the Subversion web site. If you are more comfortable with Graphical interfaces, you can also use TortoiseSVN, or RapidSVN


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

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


To understand what you are looking at after you check out the code, see viewer source.

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.

Libraries

In the folder you checked the source out to, create a folder called "libraries", in that folder, create another called "include" - this is where we will install the third party libraries that Second Life uses.

Boost
  • Download Boost.
  • In the extracted directory, there is a folder called "boost", copy it with it's contents into the "include" folder.
Expat
  • Create a "expat" folder inside of the "include" folder.
  • Download Expat Win32 Binary
  • Run Setup, and install to a convenient location (I installed to my desktop)
  • Open the installed directory, and in "Source\lib\" copy the "expat.h" and "expat_external.h" files to the "include\expat\" folder.
ZLib
  • Create a "zlib" folder inside of the "include" folder.
  • Download Zlib
  • Extract the archive to a convenient location.
  • Open the extracted firectory, and copy the "zlib.h" and "zconf.h" files to the "include\zlib" folder.

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.