Difference between revisions of "Get source and compile"
Ben Linden (talk | contribs) |
Ben Linden (talk | contribs) |
||
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\ | * 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.