[Opensim-dev] Needing Mono.Security.dll on Windows at PostgreSQL module
Fernando Francisco de Oliveira
fernando at oliveira.eti.br
Wed Oct 16 17:56:02 UTC 2013
So, I already have the fix coded on my computer at home, with that mono
verification. I may change it to use the
OpenSim.Framework.Util.**IsPlatformMono()
function and put the Mono.Security.dll at bin/lib/.NET.
I will do a patch and post it to mantis to be tested. Is it ok ?
Fernando Oliveira
http://oliveira.eti.br
http://twitter.com/oliveira_lands
2013/10/16 Justin Clark-Casey <jjustincc at googlemail.com>
> Yes, this is also available as OpenSim.Framework.Util.**IsPlatformMono().
>
> On 16/10/13 18:28, Fernando Francisco de Oliveira wrote:
>
>> the test I put at code was testing Type.GetType("Mono.Runtime") if it
>> return null that's not running on mono.
>>
>>
>>
>> Fernando Oliveira
>> http://oliveira.eti.br
>>
>> http://twitter.com/oliveira_**lands <http://twitter.com/oliveira_lands>
>>
>>
>>
>>
>> 2013/10/16 Sean McNamara <smcnam at gmail.com <mailto:smcnam at gmail.com>>
>>
>>
>> On Wed, Oct 16, 2013 at 12:35 PM, Justin Clark-Casey
>> <jjustincc at googlemail.com <mailto:jjustincc at googlemail.**com<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<http://twitter.com/oliveira_lands>
>> >>
>> >>
>> >>
>> >>
>> >> 2013/10/16 Latif Khalifa <latifer at streamgrid.net <mailto:
>> latifer at streamgrid.net**>
>> >> <mailto: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<fernando at oliveira.eti.br>>
>> <mailto:fernando at oliveira.eti.**br <fernando at oliveira.eti.br>
>>
>> <mailto:fernando at oliveira.eti.**br <fernando at oliveira.eti.br>>>>
>> wrote:
>> >> > Hello
>> >> >
>> >> > I was investigating the bug
>> >> > (http://opensimulator.org/**mantis/view.php?id=6803<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 <Opensim-dev at lists.berlios.de>> <mailto:Opensim-dev at lists.**
>> berlios.de <Opensim-dev at lists.berlios.de>
>>
>> <mailto:Opensim-dev at lists.**berlios.de <Opensim-dev at lists.berlios.de>
>> >>
>> >>
>> >> > https://lists.berlios.de/**mailman/listinfo/opensim-dev<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 <Opensim-dev at lists.berlios.de>> <mailto:Opensim-dev at lists.**
>> berlios.de <Opensim-dev at lists.berlios.de>
>>
>> <mailto:Opensim-dev at lists.**berlios.de <Opensim-dev at lists.berlios.de>
>> >>
>> >>
>> >> https://lists.berlios.de/**mailman/listinfo/opensim-dev<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 <Opensim-dev at lists.berlios.de>>
>> >> https://lists.berlios.de/**mailman/listinfo/opensim-dev<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 <mailto:Opensim-dev at lists.**
>> berlios.de <Opensim-dev at lists.berlios.de>>
>> > https://lists.berlios.de/**mailman/listinfo/opensim-dev<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<Opensim-dev at lists.berlios.de>
>> >
>> https://lists.berlios.de/**mailman/listinfo/opensim-dev<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<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<https://lists.berlios.de/mailman/listinfo/opensim-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20131016/a529bda8/attachment-0001.html>
More information about the Opensim-dev
mailing list