Build Instructions

=Installing from source=

MS Windows
OpenSim requires either the .Net framework version 2.0, or the latest Mono. It also is compiled with the C# and not the C++ IDE for those who are using the no-cost Express Editions from MS.

Subversion Repository
1. Get the source code from the svn repository:

svn://openmv.org/opensim/trunk

Building
2. In the top-level directory, run the 'runprebuild.bat' file. This will create both a VS2005 solution file, and a nant build file.

3. Open the resulting sln file with visual studio, and build it there, or if you prefer to use nant, run nant in the same top-level directory. This will build the executables.

If you don't care about physics (walking on prims, etc), ignore the rest of this section.

Open Dynamics Engine (ODE)
If you want to implement collision-based physics, OpenDynamicsEngine (ODE) is the furthest along at the moment (9/07). It is not fully supported, but is starting to work somewhat reliably using a small number of regions per sim.

As installed from svn, ODE does not work on all platforms. If you get an ODE-related crash, and/or an ode.dll not found type of error (which can occur even though the dll is present!), try using the debug version of the dll, available here:

http://www.squiggle.com/opensim/ode-debug.dll

Rename it ode.dll and put it in .\bin, replacing the stock ode.dll. You can also try building ode.dll from the latest version of the source (http://www.ode.org/; make sure to enable trimesh)

Running
Double-click on the OpenSim.exe executable file in the bin directory. This will start up OpenSim in standalone mode.

The debugger in VS2005 C# may be used to step through the code. For those that use a Cygwin shell, you may find that one or more dll's have permissions that cause problems running. Most find that a "chmod 777 *" from the bin</tt> directory solves this.

Physics can be invoked by adding the appropriate line to the [Startup] section of OpenSim.ini</tt>. For ODE, that would be:

physics = OpenDynamicsEngine

You can also add a command line option to a shortcut, or run from a command prompt with:

-physics=OpenDynamicsEngine

Subversion Repository
To check out the latest revision:

svn co svn://opensecondlife.org/opensim/trunk opensim.new/trunk

Note: The libopenjpeg-libsl-...so</tt> is not really working. For this reason you should download the newest libsecondlife from http://www.libsecondlife.org/, and build your own libopenjpeg library. If you use this instead of the SVN version, your sim will work fine.

Note to Mac OS X users: OS X does not come packaged with subversion, so you will need to either install it or access the repository from a computer that does have subversion.

Building (Mono)
For revisions 1657 and above:

cd opensim.new/trunk

mono bin/Prebuild.exe /target nant nant -buildfile:OpenSim.build

Earlier revisions (before 1657) require you to rerun prebuild again after the first build, and then build again:

cd opensim.new/trunk

mono bin/Prebuild.exe /target nant nant -buildfile:OpenSim.build

mono bin/Prebuild.exe /target nant nant -buildfile:OpenSim.build

Physics
If you want to implement collision-based physics, OpenDynamicsEngine (ODE) is the furthest along at the moment (9/07). It is not fully supported, but is starting to work somewhat reliably using a small number of regions per sim.

Open Dynamics Engine (ODE)
As installed from svn, ODE does not work on all platforms. If you get an ODE-related crash, and/or a libode.so not found type of error, you will need to build libode from source.

Remove libode.so</tt> from the ./bin</tt> folder. (Note that subsequent svn updates may replace it again; best fix is to copy your built libode.so</tt> to bin</tt>). Do NOT remove ode.net.dll</tt>! Download the latest source packages from http://www.ode.org/. When compiling, make sure to use the following configure options:

--with-trimesh=gimpact --enable-shared

Make sure the configure script confirms these choices, and always compile with single precision (I believe that's the default). Try  if you get errors relating to drawstuff, test*, or openGL. should put libode.so</tt> in the proper place (usually /usr/local/lib</tt>), and it should be seen by opensim (ode.net.dll</tt>)

Running (Mono)
cd bin mono OpenSim.exe

to invoke ODE, add the option: -physics=OpenDynamicsEngine

or add  to the [Startup] section of OpenSim.ini</tt>. Same deal for other physics engines, when available.

=Binary releases=

Nightly builds, presumably for Linux:

http://ruth.petitbe.be/build/