[Opensim-dev] Minimum OpenSim mono version now 2.4? (was Re: [Opensim-commits] r10113 - trunk)

Justin Clark-Casey jjustincc at googlemail.com
Wed Aug 5 13:58:56 UTC 2009


Teravus Ovares wrote:
> After fighting with it a bit,  JustinCC and I discovered that the root
> cause of this issue was that libOMV and associated dependencies were
> compiled as a .NET 3.5 assembly version target.   Unfortunately,
> officially, it will only compile as a 3.5 target because it makes use
> of System.Threading.ReaderWriterLockImpl, HashSet<T> and TimeZoneInfo.
>   After a bit of hacking, I managed to compile LibOMV as a .NET 2.0
> assembly.    It's entirely swappable with the official 0.7.0 libomv.
>  What I mean by that is there were no API elements that were changed.
> You should be able to replace this copy with the official 0.7.0
> compiled yourself in 3.5 and recompile with no side effects.  The only
> down side, is that the 3.5 assembly requires mono 2.4 or above.    The
> 2.0 assembly in the OpenSimulator repository should work on older
> versions of mono.    I'm still leaving the 2.4 requirement in the
> readme file because, according to the libomv developers, there were
> some serious bugs in mono in some versions previous to 2.4 where it
> would occasionally lose references to sockets and we do want to
> promote a version that works correctly, however, this commit should
> resolve this thread and the HttpServer typeload exception mantis

Nice one, Teravus - I can confirm that OpenSim now runs again under mono 2.0.1.

I agree with you about the README - the issue of running under an older mono should largely disappear in the next couple 
of months when the remaining major distros upgrade to mono 2.4.

> 
> Full Commit Log:
> 
> Commit:31b60731497b21c163aa4058cada258e54deb835
> opensim: teravus master * r31b60731497b /bin/ (10 files):
> * * Commit a slightly modified OpenMetaverse compiled as a .NET 2.0 target
> * Hopefully this allows older mono versions to still work.
> * A couple of points of note:
> * TimeZoneInfo..   replaced with DateTime.UtcNow -
> TimeSpan.FromHours(7);  in
> InventoryManager.CreateItemFromAssetResponse
> * HashSet<uint> replaced with Dictionary<uint,object> for
> OpenMetaverse.IncomingPacketIDCollection.TryEnqueue
> * Force use of the managed version of ReaderWriterLockSlim (don't use
> the pre-processor defs) in DoubleDictionary/HttpServer
> 
> Regards
> 
> Teravus
> 
> 
> On Tue, Aug 4, 2009 at 11:28 PM, BlueWall Slade<bluewall.slade at gmail.com> wrote:
>> I am running openSuSe 11.1 with mono 2.4.2. I haven't seen any signs of the
>> mini-trampoline errors on it.
>>
>> A side note, I'm also seeing some pretty flat memory usage trends since our
>> libomv update.
>>
>> Thanks!
>> BlueWall
>>
>> On Mon, Aug 3, 2009 at 1:44 PM, Justin Clark-Casey
>> <jjustincc at googlemail.com> wrote:
>>> Hi Teravus.  I take it this means that mono 2.0.1 is no longer usable with
>>> trunk?  This is somewhat inconvenient since
>>> Ubuntu and OpenSUSE still ship mono 2.0.1 in their distros (though both
>>> will include 2.4 in the next release).  But if
>>> mono 2.0.1 is now unusable then that's just how it is.
>>>
>>> I'm also not sure if mono 2.4 still has the 'mini-trampoline' assertion VM
>>> termination when many scripts are being
>>> loaded on initial startup (this problem isn't present in mono 2.0.1).
>>>
>>> teravus at opensimulator.org wrote:
>>>> Author: teravus
>>>> Date: 2009-08-01 11:59:34 -0700 (Sat, 01 Aug 2009)
>>>> New Revision: 10113
>>>>
>>>> Modified:
>>>>    trunk/README.txt
>>>> Log:
>>>> * Update ReadMe.txt to reflect feedback by testers
>>>>
>>>> Modified: trunk/README.txt
>>>> ===================================================================
>>>> --- trunk/README.txt  2009-08-01 14:26:00 UTC (rev 10112)
>>>> +++ trunk/README.txt  2009-08-01 18:59:34 UTC (rev 10113)
>>>> @@ -25,7 +25,7 @@
>>>>  == Installation on Linux ==
>>>>
>>>>  Prereqs:
>>>> - * Mono >= 2.0.1 (>= 2.4.2 is better)
>>>> + * Mono >= 2.4 (>= 2.4.2 is better)
>>>>   * Nant >= 0.86beta
>>>>   * sqlite3 or mysql 5.x (you'll need a backend database)
>>>>
>>>>
>>>> _______________________________________________
>>>> Opensim-commits mailing list
>>>> Opensim-commits at lists.berlios.de
>>>> https://lists.berlios.de/mailman/listinfo/opensim-commits
>>>>
>>> --
>>> justincc
>>> Justin Clark-Casey
>>> http://justincc.wordpress.com
>>> _______________________________________________
>>> Opensim-dev mailing list
>>> 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
>>
>>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
> 


-- 
justincc
Justin Clark-Casey
http://justincc.wordpress.com



More information about the Opensim-dev mailing list