Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Sep 2004 01:57:41 -0400
From:      Tom McLaughlin <tmclaugh@sdf.lonestar.org>
To:        freebsd-gnome@freebsd.org
Subject:   Announcement: BSD# Project on Novell Forge
Message-ID:  <1095141462.931.145.camel@compass.straycat.dhs.org>

next in thread | raw e-mail | index | archive | help
BSD# Project Announcement

I would also like to let everyone who is interested in Mono to know that
I've started a project on Novell Forge called BSD# which is located
here:

http://forge.novell.com/modules/xfmod/project/?bsd-sharp

The purpose of this project is to port and maintain the entire Mono
framework plus related applications and libraries on FreeBSD.  I'll be
starting on 1.0.2 when it is released next week.  I invite anyone
interested Mono to please join and help out.  I started BSD# because
Mono is HUGE and there is a boatload of work to be done.  As you may or
may not know, Mono is more than just a runtime environment to run Muine
or Gfax.  Mono/.NET touches web services, Java, and probably many other
things I haven't come across yet or is still in the work.  

You may be saying, "But why Mono, .NET, and C#?  Who cares?"  The simple
reason is this.  Mono is produced by Ximian, Ximian is a major
contributor to Gnome, Gnome is the reason we all here reading this
mailing list.  :)  Sooner or later, Mono will more than likely become a
part of Gnome in some way or a really great Gnome application will come
along requiring Mono.  What ever you care about Mono, C#, or even
Microsoft and .NET, we are going to have to support it sooner or later.
It's far better to work out Mono's problems now than having to rush it
to work later.  Not to mention it is about providing the same quality of
applications that are available for other operating systems.  C'mon, you
know we all hate reading Slashdot comments like, "FreeBSD supports
graphics?" (True paraphrased quote that has made me chuckle for a few
months.)  I would like to know that we can soon say ".NET, yeah, we
support that as well as any other free Unix like OS...  Plus our OS is
as solid as a rock and we have excellent documentation to go with it."
The .NET framework is inherently going to be fairly popular.  I really
believe we should provide people with FreeBSD as a viable choice for
their .NET applications.  Now, the only way we are going to get Mono
properly supported is to do it ourselves, Ximian I believe has little
interest in doing the work needed itself.

Their is a ton of work to be done in many areas and any help is greatly
appreciated.  I'm waiting in anticipation to hear that the FreeBSD Mono
maintainer, John Merryweather Cooper, has returned so I can bombard him
with what I've found.  (He'll really appreciate that.)  But just two
people can't handle this easily.  Much of this is untreaded ground and
it is constantly evolving.  Every port seems to unearth something new.
Repeatedly in the past few weeks I have yelled, "WTF is this and WTF
does it do!?!"  You don't even have to know C# or much about Mono
already to help!  The runtime with all it's issues are in C for
instance.  IKVM requires some Java knowledge to work with.  XSP and
mod_mono require some familiarity with Apache to have it up and running.
I have no Mono experience prior to what I have learned in the past few
weeks while working on his.  Hell, aside from some meager shell
scripting i have no prior programming experience!  (You all feel warm
and fuzzy hearing that I bet.)  I just wanted to learn a programming
language and while other languages would probably be more useful to me,
diving into barely charted waters with unknown amounts of work to do
sounded like too much fun.

If you are interested, please download the mono-merge script found on
the project's home page link above and subscribe to the mailing lists.
List info can be found here:

http://forge.novell.com/modules/xfmod/maillist/?group_id=1498

Now for a little hashing of some of the issues I have found.  The Mono
runtime has various problems on FreeBSD and actually all the *BSDs in
general.  First, we all know about Mono's threading issues.  Mono has
numerous problems handling FreeBSD's threading.  Some applications
easily b0rk due to these threading issues.  The prj2make application to
convert VC.NET solution files into gmake Makefiles won't even run
because of threading issues.  Another thing to know is from my
understanding Mono 1.0.1 only runs on 5.3-BETAs because of some TLS
threading changes committed right before the first one was released.
This points out that any new release such as next week's could introduce
major stability problems, even major breakage.

Next, Mono looks for all libraries and assemblies relative to the `mono'
binaries prefix which is /usr/local in our case.  Unlike Linux distros
we do not dump everything in /usr.  Mono needs to work with multiple
library and Global Assembly Cache (GAC) locations.  For instance, the
monodoc port instals into /usr/local because of this.  If in the future
it requires gconf schemas or anything else that requires it to be
installed with Gnome in /usr/X11R6, we're kinda screwed.  There are
environmental variables that can be set to point to additional locations
mentioned in the manpages, but someone needs to sit down, read them, and
work this out.

Lastly regarding the Mono runtime, on FreeBSD it fails 10 of the 170
tests found in the mono/tests directory of the tarball.  I got that from
simply running `make test' in that directory.  That number is misleading
since apparently it does not include tests where the runtime crashes.
We fail many more, the exact number I have not had a chance to fully
determine but I believe it is the same as Mono 1.0 from a quick run of
both versions.

Wow, this email is long.  I haven't even gotten to the ASP.NET packages,
suffice to say that they are wholly untested.  I don't know how well
they work...  Hell, I don't even know how they work!  Let me also
mention that gtksourceview-sharp needs some quick work in it's configure
script, for some reason the gnometarget port option is not working and
some files are installed in /usr/X11R6 (bad as mentioned above)
irregardless of the ports specified PREFIX.  This is holding up
Monodevelop currently.  Please see the task tracker on Novell Forge was
has some problems listed and will grow quickly as I have time to write
up more problems here:

http://forge.novell.com/modules/xfmod/pm/?group_id=1498


Congratulations...  You have made it to the end of this email and found
my pot of gold!  Just kidding, I promise you this email is finished.  I
could keep going, but I need sleep.  Please let me know if you have any
questions or what not.  Thanks.

Tom


--------------------------------------------------------
BSD# Project
http://forge.novell.com/modules/xfmod/project/?bsd-sharp



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1095141462.931.145.camel>