Dependencies

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (RHEL, Fedora, CentOS or Any Other RedHat-based Distributions)
m (Linux and Mac OSX)
(39 intermediate revisions by 12 users not shown)
Line 1: Line 1:
__NOTOC__ {{Template:Quicklinks}} <br>In addition to the OpenSim code itself, certain other packages need to be installed on different platforms in order to get OpenSim binaries to run.
+
{{Quicklinks}}
  
As well as the information on this page (which should be expanded), you may find more information on dependencies in [[Build Instructions]] though this will also contain dependencies required only for building. This are also more hints in [[Troubleshooting]]
+
= Note =
  
 +
These instructions assume that OpenSimulator is running from the binary packages in standalone mode.  If this is not the case or you have more complex requirements (e.g. you want to use the MySQL database rather than SQLite or you want to run in grid mode), then you will need to [[Configuration|configure]] OpenSimulator first.
  
= Windows  =
+
= Dependencies =
 +
In addition to the OpenSimulator code itself, certain other packages need to be installed on different platforms in order to get OpenSimulator binaries to run.
  
When using OpenSim on Windows XP ensure it is updated to at least Service Pack 2 (SP2).  
+
As well as the information on this page (which should be expanded), you may find more information on dependencies in [[Build Instructions]] though this will also contain dependencies required only for building. This are also more hints in [[Troubleshooting]].
  
When using OpenSim on Windows XP, VISTA, Win-7, Server 2003 &amp; 2008, You need to have the newest version of the .NET Framework 3.5 sp1 (3.51), available from Microsoft Download Centre:&nbsp;[http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&displaylang=en www.microsoft.com/downloads/details.aspx]&nbsp;[[|]]  
+
After solving dependencies, you may need to configure the firewall installed in your system by default so that the viewers outside can access to OpenSimulator inside it. See [[Firewall Settings]] for more informations.
  
32-Bit Operating System:&nbsp; Start/Run OpenSim.exe
+
[[NAT Loopback Routers]] Router and Nat Loopback Information to help you configure your Router / Modem.
  
64-Bit Operating System:&nbsp; Start/Run OpenSim.32BitLaunch.exe
+
== Windows ==
  
Depending on your installation, you may have to run the program as administrator. (right click run as a administrator)
+
The current OpenSimulator release and development code requires .NET Framework 4.0.
  
NOTE:&nbsp; Windows Versions prior to XP such as&nbsp;NT, 2000 are not supported.&nbsp; NET Framework 4.0 not officially supported by OpenSim yet.  
+
Double-click or execute on command prompt:
 +
*'''OpenSim.exe'''
  
 +
Depending on your installation, you may have to run the program as administrator(right click -> 'Run as administrator'). It will pop up a window asking permission, select "Allow".
  
= Linux =
+
== Linux and Mac OSX ==
  
OpenSimulator requires Mono 2.4.3 or later.
+
{| class="wikitable"
 +
|-
 +
! scope="col"| Mono version
 +
! scope="col"| OpenSimulator version
 +
! scope="col"| Status
 +
! scope="col"| Notes
 +
|-
 +
! scope="row"| 2.4.3+
 +
| 0.7.6
 +
| Ok
 +
|
 +
|-
 +
! scope="row"| 2.6.x
 +
| < 0.7.6
 +
| Ok
 +
| Appears to be fine, though the mono VM does seem to have some issues (crashing with a native stacktrace) on simulators running many regions or lots of users/prims
 +
|-
 +
! scope="row"| 2.8.x
 +
| *
 +
| Not ok
 +
| Significant performance and scalability problems
 +
|-
 +
! scope="row"| 2.10.0
 +
| *
 +
| Not ok
 +
| Significant performance and scalability problems
 +
|-
 +
! scope="row"| 2.10.1
 +
| *
 +
| Not ok
 +
| Significant performance and scalability problems
 +
|-
 +
! scope="row"| 2.10.2
 +
| *
 +
| Ok
 +
|
 +
|-
 +
! scope="row"| 2.10.8
 +
| < 0.9
 +
| Ok (recommended)
 +
|
 +
|-
 +
! scope="row"| 2.10.9 > 3.0.3
 +
| *
 +
| Not ok
 +
| Major issues
 +
|-
 +
! scope="row"| 3.0.7
 +
| *
 +
| Ok
 +
|
 +
|-
 +
! scope="row"| 4.0
 +
| *
 +
| Not Ok
 +
|
 +
|-
 +
! scope="row"| 4.0.4
 +
| *
 +
| Ok
 +
|
 +
|-
 +
! scope="row"| 4.3.2
 +
| *
 +
| Ok
 +
|
 +
|-
 +
! scope="row"| 4.4.2
 +
| *
 +
| Not Ok
 +
| Some issues on Robust like NameResolutionFailure
 +
|-
 +
! scope="row"| 4.6.2.16
 +
| *
 +
| Not Ok
 +
|
 +
|-
 +
! scope="row"| 5.x
 +
| *
 +
| seems to work
 +
| but : http://opensimulator.org/mantis/view.php?id=8251
 +
|-
 +
|}
  
== Ubuntu ==
 
  
sudo apt-get install nant mono-gmcs libmono-microsoft8.0-cil \
+
OpenSimulator development code requires Mono 2.8 or later, with at least Mono 2.10.8 recommended.
      libmono-system-runtime2.0-cil libgdiplus libmono-i18n2.0-cil libmono-oracle2.0-cil
+
  
Nant is required if you need to build OpenSim.
+
To run OpenSimulator with mono, execute
 +
 
 +
mono --debug OpenSim.exe
 +
 
 +
This is the same for 32 bit and 64 bit systems.  The --debug switch isn't strictly necessary, but it will insert line numbers for stack traces if you ever need to make a bug report, and the overhead of using it is very small.
 +
 
 +
=== Ubuntu ===
 +
 
 +
sudo apt-get install mono-complete
  
 
{{anchor|CentOS}}{{anchor|RedHat}}{{anchor|RHEL}}{{anchor|Fedora}}
 
{{anchor|CentOS}}{{anchor|RedHat}}{{anchor|RHEL}}{{anchor|Fedora}}
== RHEL, Fedora, CentOS or Any Other RedHat-based Distributions ==
+
=== RHEL, Fedora, CentOS or Any Other RedHat-based Distributions ===
  
 
First, run "yum info mono-core" to see the version of the mono packages in the core repository for your distribution. If it shows '''2.4.3''' or later, proceed to [[#Installing from Core Repository]]. If not, skip to [[#Installing from Mono Repository]]. Note that the current version you can get from yum repository for some distributions is lower than requirement (ex. '''1.2.4''' on CentOS). Unlike Ubuntu, RedHat-based distributions should be always conservative, therefore it is natural that they don't so often update their repository. What you can do to manage this problem is to add an extra repository for mono.
 
First, run "yum info mono-core" to see the version of the mono packages in the core repository for your distribution. If it shows '''2.4.3''' or later, proceed to [[#Installing from Core Repository]]. If not, skip to [[#Installing from Mono Repository]]. Note that the current version you can get from yum repository for some distributions is lower than requirement (ex. '''1.2.4''' on CentOS). Unlike Ubuntu, RedHat-based distributions should be always conservative, therefore it is natural that they don't so often update their repository. What you can do to manage this problem is to add an extra repository for mono.
  
=== Installing from Core Repository ===
+
==== Installing from Core Repository ====
  
 
Just type:
 
Just type:
Line 43: Line 135:
 
It will also install dependent modules. After that you can launch OpenSim.exe with mono out-of-the-box.
 
It will also install dependent modules. After that you can launch OpenSim.exe with mono out-of-the-box.
  
=== Installing from Mono Repository ===
+
==== Installing from Mono Repository ====
  
This procedure is tested on CentOS 5.5 & 5.6 box with OpenSim 0.7.1.
+
This procedure is tested on CentOS 5.5 & 5.6 box with OpenSimulator 0.7.1.
  
 
Go to yum config file folder and create new one for mono.
 
Go to yum config file folder and create new one for mono.
Line 74: Line 166:
  
 
After that, you should be able to launch OpenSim.exe without any errors.
 
After that, you should be able to launch OpenSim.exe without any errors.
 +
 +
=== Debian ===
 +
 +
Debian 4 (Etch) is no longer supported by debian.org. Update at least to 5 (Lenny) before running OpenSimulator. See [http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.html Upgrades from previous release@debian.org] for detail.
 +
 +
For Debian 5 (Lenny) or later, just Type:
 +
<pre>
 +
sudo aptitude install mono-runtime mono-gmcs libmono-microsoft8.0-cil \
 +
    libmono-system-runtime2.0-cil libmono-i18n2.0-cil
 +
</pre>
 +
 +
You can even use apt-get instead of aptitude. They both will also install dependent packages.
 +
 +
Tested on Debian 5(Lenny), Debian 6(Squeeze) and Debian 7(Wheezy) unstable.
 +
 +
=== openSuSE ===
 +
 +
Just type:
 +
<pre>
 +
sudo zypper install  mono-core mono-data-sqlite mono-extras libgdiplus
 +
</pre>
 +
It will also install dependent modules. After that you can launch OpenSim.exe with mono out-of-the-box.
 +
 +
=== Mac OS X ===
 +
 +
All you have to do is to fetch Mono '''Runtime''' package from [http://www.go-mono.com/mono-downloads/download.html Mono Download Page] and install it.  Alternatively, you can install mono with [http://mxcl.github.com/homebrew/ homebrew] with:
 +
<pre>
 +
brew install mono
 +
</pre>
 +
 +
If you are using OS X 10.4, you should also install X11 from the OS X install CDs. In OS X 10.5, this is not required.
 +
 +
== Docker ==
 +
 +
For testing purposes, you can even run OpenSimulator as Docker containers. The quickest way would be to use [https://hub.docker.com/_/mono/ official mono image] as base image. To avoid first-run questionaries, you need to prepare a series of ini files and deploy them on the container. For example, if you run 0.9.0.0-rc1 binary in Standalone mode on Mono 4.6.2.16:
 +
 +
<pre>
 +
FROM mono:4.6.2.16
 +
 +
RUN curl http://dist.opensimulator.org/opensim-0.9.0.0-rc1.tar.gz -s | tar xzf -
 +
COPY Regions.ini /opensim-0.9.0.0-rc1/bin/Regions/Regions.ini
 +
COPY OpenSim.ini /opensim-0.9.0.0-rc1/bin/OpenSim.ini
 +
EXPOSE 9000
 +
WORKDIR /opensim-0.9.0.0-rc1/bin
 +
 +
CMD [ "mono",  "./OpenSim.exe" ]
 +
</pre>
 +
 +
In most cases, you should care about "ExternalHostName" in Regions.ini. The value should be valid hostname which can be accessed from outside of docker machine. In general, it would be "localhost" or the hostname of the docker machine which the container resides in.
 +
 +
Then build it and run like that. Note that you will need to forward both TCP and UDP port.
 +
 +
<pre>
 +
$ docker build -t opensim .
 +
$ docker run --name=opensim -p 9000:9000 -p 9000:9000/udp -d opensim
 +
or
 +
$ docker run --name=opensim -it -p 9000:9000 -p 9000:9000/udp opensim
 +
</pre>
 +
 +
You can find full sample Dockerfile project at [https://github.com/Makopo/docker-opensimulator-simple makopo/docker-opensimulator-sample].
  
 
= Locales and Regional Settings =
 
= Locales and Regional Settings =
Line 87: Line 239:
  
 
== Windows ==
 
== Windows ==
If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for OpenSim in which I set the regional setting to "English (US)". I run OpenSim.exe from my normal user account with "Run as..." (or check "Run with different credentials" in a shortcut's advanced properties) and specify the OpenSim account as the one to be used.
+
If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for OpenSimulator in which I set the regional setting to "English (US)". I run OpenSim.exe from my normal user account with "Run as..." (or check "Run with different credentials" in a shortcut's advanced properties) and specify the OpenSimulator account as the one to be used.
 
+
  
= Additional Resources =
+
= Additional Resources =
  
 
OSGrid Technical Support Forum with many installation tutorials:&nbsp; [http://osgrid.org/forums/viewforum.php?f=14 osgrid.org/forums/viewforum.php]  
 
OSGrid Technical Support Forum with many installation tutorials:&nbsp; [http://osgrid.org/forums/viewforum.php?f=14 osgrid.org/forums/viewforum.php]  
  
 
MONO&nbsp;Project:&nbsp; [http://www.mono-project.com/Main_Page www.mono-project.com/Main_Page]
 
MONO&nbsp;Project:&nbsp; [http://www.mono-project.com/Main_Page www.mono-project.com/Main_Page]

Revision as of 15:25, 22 November 2017

Contents

Note

These instructions assume that OpenSimulator is running from the binary packages in standalone mode. If this is not the case or you have more complex requirements (e.g. you want to use the MySQL database rather than SQLite or you want to run in grid mode), then you will need to configure OpenSimulator first.

Dependencies

In addition to the OpenSimulator code itself, certain other packages need to be installed on different platforms in order to get OpenSimulator binaries to run.

As well as the information on this page (which should be expanded), you may find more information on dependencies in Build Instructions though this will also contain dependencies required only for building. This are also more hints in Troubleshooting.

After solving dependencies, you may need to configure the firewall installed in your system by default so that the viewers outside can access to OpenSimulator inside it. See Firewall Settings for more informations.

NAT Loopback Routers Router and Nat Loopback Information to help you configure your Router / Modem.

Windows

The current OpenSimulator release and development code requires .NET Framework 4.0.

Double-click or execute on command prompt:

  • OpenSim.exe

Depending on your installation, you may have to run the program as administrator(right click -> 'Run as administrator'). It will pop up a window asking permission, select "Allow".

Linux and Mac OSX

Mono version OpenSimulator version Status Notes
2.4.3+ 0.7.6 Ok
2.6.x < 0.7.6 Ok Appears to be fine, though the mono VM does seem to have some issues (crashing with a native stacktrace) on simulators running many regions or lots of users/prims
2.8.x * Not ok Significant performance and scalability problems
2.10.0 * Not ok Significant performance and scalability problems
2.10.1 * Not ok Significant performance and scalability problems
2.10.2 * Ok
2.10.8 < 0.9 Ok (recommended)
2.10.9 > 3.0.3 * Not ok Major issues
3.0.7 * Ok
4.0 * Not Ok
4.0.4 * Ok
4.3.2 * Ok
4.4.2 * Not Ok Some issues on Robust like NameResolutionFailure
4.6.2.16 * Not Ok
5.x * seems to work but : http://opensimulator.org/mantis/view.php?id=8251


OpenSimulator development code requires Mono 2.8 or later, with at least Mono 2.10.8 recommended.

To run OpenSimulator with mono, execute

mono --debug OpenSim.exe

This is the same for 32 bit and 64 bit systems. The --debug switch isn't strictly necessary, but it will insert line numbers for stack traces if you ever need to make a bug report, and the overhead of using it is very small.

Ubuntu

sudo apt-get install mono-complete

RHEL, Fedora, CentOS or Any Other RedHat-based Distributions

First, run "yum info mono-core" to see the version of the mono packages in the core repository for your distribution. If it shows 2.4.3 or later, proceed to #Installing from Core Repository. If not, skip to #Installing from Mono Repository. Note that the current version you can get from yum repository for some distributions is lower than requirement (ex. 1.2.4 on CentOS). Unlike Ubuntu, RedHat-based distributions should be always conservative, therefore it is natural that they don't so often update their repository. What you can do to manage this problem is to add an extra repository for mono.

Installing from Core Repository

Just type:

sudo yum install  mono-core mono-data-sqlite mono-extras libgdiplus

It will also install dependent modules. After that you can launch OpenSim.exe with mono out-of-the-box.

Installing from Mono Repository

This procedure is tested on CentOS 5.5 & 5.6 box with OpenSimulator 0.7.1.

Go to yum config file folder and create new one for mono.

cd /etc/yum.repos.d
sudo vi mono.repo

And then in mono.repo :

[mono]
name = novell-mono
baseurl=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/
enabled=1
gpgcheck=0

Now, you can yum install the later version of mono from this repository. Additional note that make sure all of mono packages are i386(not IA64 build). If your box is 32bit, don't care and you can even install properly without ".i386" suffix.

sudo yum install mono-addon-core.i386 mono-addon-data.i386 mono-addon-data-sqlite.i386  \
      mono-addon-extras.i386 mono-addon-web.i386 mono-addon-winforms.i386 mono-addon-libgdiplus0.i386

Yum will install mono into /opt/novell/mono, so you can create a symbolic link to /usr/bin :

sudo ln -s /opt/novell/mono/bin/mono /usr/bin/mono

After that, you should be able to launch OpenSim.exe without any errors.

Debian

Debian 4 (Etch) is no longer supported by debian.org. Update at least to 5 (Lenny) before running OpenSimulator. See Upgrades from previous release@debian.org for detail.

For Debian 5 (Lenny) or later, just Type:

sudo aptitude install mono-runtime mono-gmcs libmono-microsoft8.0-cil \
    libmono-system-runtime2.0-cil libmono-i18n2.0-cil

You can even use apt-get instead of aptitude. They both will also install dependent packages.

Tested on Debian 5(Lenny), Debian 6(Squeeze) and Debian 7(Wheezy) unstable.

openSuSE

Just type:

sudo zypper install  mono-core mono-data-sqlite mono-extras libgdiplus

It will also install dependent modules. After that you can launch OpenSim.exe with mono out-of-the-box.

Mac OS X

All you have to do is to fetch Mono Runtime package from Mono Download Page and install it. Alternatively, you can install mono with homebrew with:

brew install mono

If you are using OS X 10.4, you should also install X11 from the OS X install CDs. In OS X 10.5, this is not required.

Docker

For testing purposes, you can even run OpenSimulator as Docker containers. The quickest way would be to use official mono image as base image. To avoid first-run questionaries, you need to prepare a series of ini files and deploy them on the container. For example, if you run 0.9.0.0-rc1 binary in Standalone mode on Mono 4.6.2.16:

FROM mono:4.6.2.16

RUN curl http://dist.opensimulator.org/opensim-0.9.0.0-rc1.tar.gz -s | tar xzf -
COPY Regions.ini /opensim-0.9.0.0-rc1/bin/Regions/Regions.ini
COPY OpenSim.ini /opensim-0.9.0.0-rc1/bin/OpenSim.ini
EXPOSE 9000
WORKDIR /opensim-0.9.0.0-rc1/bin

CMD [ "mono",  "./OpenSim.exe" ]

In most cases, you should care about "ExternalHostName" in Regions.ini. The value should be valid hostname which can be accessed from outside of docker machine. In general, it would be "localhost" or the hostname of the docker machine which the container resides in.

Then build it and run like that. Note that you will need to forward both TCP and UDP port.

$ docker build -t opensim .
$ docker run --name=opensim -p 9000:9000 -p 9000:9000/udp -d opensim
or
$ docker run --name=opensim -it -p 9000:9000 -p 9000:9000/udp opensim

You can find full sample Dockerfile project at makopo/docker-opensimulator-sample.

Locales and Regional Settings

OpenSimulator will only work properly when you run it with an English locale or regional setting. With other settings than English, you are likely to see a variety of issues, ranging from misbehaving scripts to crashes.

Linux

In Linux, you can easily use the standard "C" locale just for running OpenSim.exe, as explained in Troubleshooting#ScriptEngine Issues:

env LANG=C mono OpenSim.exe

For information about changing your locale in a more general way, see Troubleshooting#Locales Issues

Windows

If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for OpenSimulator in which I set the regional setting to "English (US)". I run OpenSim.exe from my normal user account with "Run as..." (or check "Run with different credentials" in a shortcut's advanced properties) and specify the OpenSimulator account as the one to be used.

Additional Resources

OSGrid Technical Support Forum with many installation tutorials:  osgrid.org/forums/viewforum.php

MONO Project:  www.mono-project.com/Main_Page

Personal tools
General
About This Wiki