<div dir="ltr">So, I already have the fix coded on my computer at home, with that mono verification. I may change it to use the <span style="font-family:arial,sans-serif;font-size:13px">OpenSim.Framework.Util.</span><u style="font-family:arial,sans-serif;font-size:13px"></u><span style="font-family:arial,sans-serif;font-size:13px">IsPlatf</span><span style="font-family:arial,sans-serif;font-size:13px">ormMono() function and put the Mono.Security.dll at bin/lib/.NET.</span><div>
<span style="font-family:arial,sans-serif;font-size:13px">I will do a patch and post it to mantis to be tested. Is it ok ?</span></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr">Fernando Oliveira<div>
<a href="http://oliveira.eti.br" target="_blank">http://oliveira.eti.br</a><br><br><a href="http://twitter.com/oliveira_lands" target="_blank">http://twitter.com/oliveira_lands</a><div><div><br></div><div><br></div></div>
</div></div></div>
<br><br><div class="gmail_quote">2013/10/16 Justin Clark-Casey <span dir="ltr"><<a href="mailto:jjustincc@googlemail.com" target="_blank">jjustincc@googlemail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, this is also available as OpenSim.Framework.Util.<u></u>IsPlatformMono().<br>
<br>
On 16/10/13 18:28, Fernando Francisco de Oliveira wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
the test I put at code was testing Type.GetType("Mono.Runtime") if it return null that's not running on mono.<div class="im"><br>
<br>
<br>
Fernando Oliveira<br>
<a href="http://oliveira.eti.br" target="_blank">http://oliveira.eti.br</a><br>
<br>
<a href="http://twitter.com/oliveira_lands" target="_blank">http://twitter.com/oliveira_<u></u>lands</a><br>
<br>
<br>
<br>
<br></div>
2013/10/16 Sean McNamara <<a href="mailto:smcnam@gmail.com" target="_blank">smcnam@gmail.com</a> <mailto:<a href="mailto:smcnam@gmail.com" target="_blank">smcnam@gmail.com</a>>><div class="im"><br>
<br>
    On Wed, Oct 16, 2013 at 12:35 PM, Justin Clark-Casey<br></div><div><div class="h5">
    <<a href="mailto:jjustincc@googlemail.com" target="_blank">jjustincc@googlemail.com</a> <mailto:<a href="mailto:jjustincc@googlemail.com" target="_blank">jjustincc@googlemail.<u></u>com</a>>> wrote:<br>
     > A small point - can this be in the directory bin/lib/.NET/ rather than<br>
     > Windows/?  This makes it clear that it's a library directory and only<br>
     > required under .NET (since you can theoretically run Mono in Windows, though<br>
     > admittedly probably pretty much nobody does this).<br>
<br>
    And now that you brought that up, the obvious follow-up question is,<br>
    can we reliably detect whether OpenSim is being run under Mono or the<br>
    .NET Framework? As you pointed out, Mono runs on Windows, and it is<br>
    possible that someone running OpenSim under Mono on Windows would<br>
    *pass* the Win32 platform check and get our shipped Mono.Security.dll<br>
    loaded, which would conflict with the Mono.Security.dll shipped with<br>
    the user's Mono version and perhaps cause exceptions.<br>
<br>
    So the condition for loading the bin/lib/.NET/*.dll would be: on Win32<br>
    AND running the Microsoft .NET Framework (or, by implication, NOT<br>
    Mono)<br>
<br>
     ><br>
     ><br>
     > On 16/10/13 12:49, Fernando Francisco de Oliveira wrote:<br>
     >><br>
     >> Yesterday I tested my code, and already patched it to load the<br>
     >> Mono.Security.dll from bin/windows folder only when the<br>
     >> program was running on windows.<br>
     >><br>
     >> It was put at first attempt to load it from PGSQL module. and it worked<br>
     >> fine at windows. I didn't tested on linux yet.<br>
     >> and still need to test also on Robust.<br>
     >><br>
     >> The implementation was exacly what Sean described, an event that is fired<br>
     >> when any assembly isnt found at default<br>
     >> directories, then I verify if it is running Mono environment and only use<br>
     >> Assembly.Load when it's not. The librarie is<br>
     >> stored at bin/windows folder, so the program don't load it unless for this<br>
     >> code.<br>
     >><br>
     >><br>
     >><br>
     >><br>
     >> Fernando Oliveira<br>
     >> <a href="http://oliveira.eti.br" target="_blank">http://oliveira.eti.br</a><br>
     >><br>
     >> <a href="http://twitter.com/oliveira_lands" target="_blank">http://twitter.com/oliveira_<u></u>lands</a><br>
     >><br>
     >><br>
     >><br>
     >><br>
     >> 2013/10/16 Latif Khalifa <<a href="mailto:latifer@streamgrid.net" target="_blank">latifer@streamgrid.net</a> <mailto:<a href="mailto:latifer@streamgrid.net" target="_blank">latifer@streamgrid.net</a><u></u>><br>
</div></div>
     >> <mailto:<a href="mailto:latifer@streamgrid.net" target="_blank">latifer@streamgrid.net</a> <mailto:<a href="mailto:latifer@streamgrid.net" target="_blank">latifer@streamgrid.net</a><u></u>>>><div class="im">
<br>
     >><br>
     >><br>
     >>     We used to ship  Mono.Security.dll with libopenmetaverse. It caused<br>
     >>     all sorts of trouble for Linux users, because mono on startup will<br>
     >>     load the one from cwd preferably. So shipping it in bin/windows that<br>
     >>     mono will not know about is the only way to go.<br>
     >><br>
     >>     I wish we thought of this approach back then ;)<br>
     >><br>
     >>     On Wed, Oct 16, 2013 at 5:08 AM, Fernando Francisco de Oliveira<br></div>
     >>     <<a href="mailto:fernando@oliveira.eti.br" target="_blank">fernando@oliveira.eti.br</a> <mailto:<a href="mailto:fernando@oliveira.eti.br" target="_blank">fernando@oliveira.eti.<u></u>br</a>> <mailto:<a href="mailto:fernando@oliveira.eti.br" target="_blank">fernando@oliveira.eti.<u></u>br</a><div>
<div class="h5"><br>
    <mailto:<a href="mailto:fernando@oliveira.eti.br" target="_blank">fernando@oliveira.eti.<u></u>br</a>>>> wrote:<br>
     >>      > Hello<br>
     >>      ><br>
     >>      > I was investigating the bug<br>
     >>      > (<a href="http://opensimulator.org/mantis/view.php?id=6803" target="_blank">http://opensimulator.org/<u></u>mantis/view.php?id=6803</a>) found that<br>
     >>      > Mono.Security.dll which is packaged with Npgsql.dll library is<br>
     >> needed on<br>
     >>      > Windows, but can't be distributed on Linux, because mono already<br>
     >> have it and<br>
     >>      > gives conflicts error.<br>
     >>      ><br>
     >>      > I would like to discuss about distributing the Mono.Security.dll on<br>
     >> a folder<br>
     >>      > above bin like "bin/windows" folder, which could contains the<br>
     >> libraries that<br>
     >>      > only is needed on windows.<br>
     >>      ><br>
     >>      > I did a change on PGSQL project to load dynamicaly Mono.Security<br>
     >> only if<br>
     >>      > it's running on Windows, and from that folder.<br>
     >>      > If it running on Mono, it load it from GAC (if available) and don't<br>
     >> load the<br>
     >>      > windows dll.<br>
     >>      ><br>
     >>      > <a href="http://pastebin.com/WdzfmbSr" target="_blank">http://pastebin.com/WdzfmbSr</a><br>
     >>      ><br>
     >>      > Let's talk about it ?<br>
     >>      ><br>
     >>      > Fernando Oliveira<br>
     >>      > <a href="http://oliveira.eti.br" target="_blank">http://oliveira.eti.br</a><br>
     >>      ><br>
     >>      ><br>
     >>      ><br>
     >>      > ______________________________<u></u>_________________<br>
     >>      > Opensim-dev mailing list<br></div></div>
     >>      > <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a><div class="im">
<br>
    <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>>><br>
     >><br>
     >>      > <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
     >>     ______________________________<u></u>_________________<br>
     >>     Opensim-dev mailing list<br></div>
     >> <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a><div class="im">
<br>
    <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>>><br>
     >><br>
     >> <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
     >><br>
     >><br>
     >><br>
     >><br>
     >> ______________________________<u></u>_________________<br>
     >> Opensim-dev mailing list<br>
     >> <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>><br>

     >> <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
     >><br>
     ><br>
     ><br></div><div><div class="h5">
     > --<br>
     > Justin Clark-Casey (justincc)<br>
     > OSVW Consulting<br>
     > <a href="http://justincc.org" target="_blank">http://justincc.org</a><br>
     > <a href="http://twitter.com/justincc" target="_blank">http://twitter.com/justincc</a><br>
     ><br>
     > ______________________________<u></u>_________________<br>
     > Opensim-dev mailing list<br>
     > <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>><br>

     > <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
    ______________________________<u></u>_________________<br>
    Opensim-dev mailing list<br>
    <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a> <mailto:<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.<u></u>berlios.de</a>><br>
    <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
<br>
</div></div></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Justin Clark-Casey (justincc)<br>
OSVW Consulting<br>
<a href="http://justincc.org" target="_blank">http://justincc.org</a><br>
<a href="http://twitter.com/justincc" target="_blank">http://twitter.com/justincc</a><br>
______________________________<u></u>_________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/<u></u>mailman/listinfo/opensim-dev</a><br>
</div></div></blockquote></div><br></div>