[Opensim-dev] Needing Mono.Security.dll on Windows at PostgreSQL module

Sean McNamara smcnam at gmail.com
Wed Oct 16 17:18:23 UTC 2013


On Wed, Oct 16, 2013 at 12:35 PM, Justin Clark-Casey
<jjustincc at googlemail.com> wrote:
> A small point - can this be in the directory bin/lib/.NET/ rather than
> Windows/?  This makes it clear that it's a library directory and only
> required under .NET (since you can theoretically run Mono in Windows, though
> admittedly probably pretty much nobody does this).

And now that you brought that up, the obvious follow-up question is,
can we reliably detect whether OpenSim is being run under Mono or the
.NET Framework? As you pointed out, Mono runs on Windows, and it is
possible that someone running OpenSim under Mono on Windows would
*pass* the Win32 platform check and get our shipped Mono.Security.dll
loaded, which would conflict with the Mono.Security.dll shipped with
the user's Mono version and perhaps cause exceptions.

So the condition for loading the bin/lib/.NET/*.dll would be: on Win32
AND running the Microsoft .NET Framework (or, by implication, NOT
Mono)

>
>
> On 16/10/13 12:49, Fernando Francisco de Oliveira wrote:
>>
>> Yesterday I tested my code, and already patched it to load the
>> Mono.Security.dll from bin/windows folder only when the
>> program was running on windows.
>>
>> It was put at first attempt to load it from PGSQL module. and it worked
>> fine at windows. I didn't tested on linux yet.
>> and still need to test also on Robust.
>>
>> The implementation was exacly what Sean described, an event that is fired
>> when any assembly isnt found at default
>> directories, then I verify if it is running Mono environment and only use
>> Assembly.Load when it's not. The librarie is
>> stored at bin/windows folder, so the program don't load it unless for this
>> code.
>>
>>
>>
>>
>> Fernando Oliveira
>> http://oliveira.eti.br
>>
>> http://twitter.com/oliveira_lands
>>
>>
>>
>>
>> 2013/10/16 Latif Khalifa <latifer at streamgrid.net
>> <mailto:latifer at streamgrid.net>>
>>
>>
>>     We used to ship  Mono.Security.dll with libopenmetaverse. It caused
>>     all sorts of trouble for Linux users, because mono on startup will
>>     load the one from cwd preferably. So shipping it in bin/windows that
>>     mono will not know about is the only way to go.
>>
>>     I wish we thought of this approach back then ;)
>>
>>     On Wed, Oct 16, 2013 at 5:08 AM, Fernando Francisco de Oliveira
>>     <fernando at oliveira.eti.br <mailto:fernando at oliveira.eti.br>> wrote:
>>      > Hello
>>      >
>>      > I was investigating the bug
>>      > (http://opensimulator.org/mantis/view.php?id=6803) found that
>>      > Mono.Security.dll which is packaged with Npgsql.dll library is
>> needed on
>>      > Windows, but can't be distributed on Linux, because mono already
>> have it and
>>      > gives conflicts error.
>>      >
>>      > I would like to discuss about distributing the Mono.Security.dll on
>> a folder
>>      > above bin like "bin/windows" folder, which could contains the
>> libraries that
>>      > only is needed on windows.
>>      >
>>      > I did a change on PGSQL project to load dynamicaly Mono.Security
>> only if
>>      > it's running on Windows, and from that folder.
>>      > If it running on Mono, it load it from GAC (if available) and don't
>> load the
>>      > windows dll.
>>      >
>>      > http://pastebin.com/WdzfmbSr
>>      >
>>      > Let's talk about it ?
>>      >
>>      > Fernando Oliveira
>>      > http://oliveira.eti.br
>>      >
>>      >
>>      >
>>      > _______________________________________________
>>      > Opensim-dev mailing list
>>      > Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>>
>>      > https://lists.berlios.de/mailman/listinfo/opensim-dev
>>     _______________________________________________
>>     Opensim-dev mailing list
>>     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>>
>>     https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>
>
> --
> Justin Clark-Casey (justincc)
> OSVW Consulting
> http://justincc.org
> http://twitter.com/justincc
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list