Summary:
Mono under FreeBSD act differently than Mono under Linux for Mono versions after 1.2
Steps to show this:
1) Get a copy of the a2c ASN.1 compiler from <http://code.google.com/p/a2c/>.
2) Extract it on a FreeBSD system with Mono installed.
3) Follow the directions in the README. A shortened version is: 'cd Mono-files; make; cd ..; make'.
If the version of Mono is 1.2, the last 'make' works fine and a2c works as expected. If the version of Mono is 1.9 or 2.0, the last 'make' fails at the sanity test and Mono goes into an infinite loop, eating up as much CPU as it can.
Doing these steps on a Linux box (in my case, running SLES 10) works fine with Mono 1.9 and 2.0.
Adding "--debug" to the mono command line didn't print any output.
We have tried debugging this in a2c, and cannot see what in the (very simple) sanity test would cause the problem, particularly because it works fine under Linux. Further, other simple a2c tests work just fine.
This is important to us because there is at least one large open source project that wants to use a2c but cannot because it will not work on FreeBSD. It is kind of embarrassing that my platform of choice doesn't work here.
Any hints or direct help would be appreciated. Otherwise, we will have to add text in our installation about not using FreeBSD; this would suck badly.
--Paul Hoffman
I guess I should give up on Mono 2.0 for FreeBSD running the same binaries and Mono 2.0 for Linux and the Mac. That's sad, but we have to move on. If someone still wants to take this up, I would be very happy to help them figure this out. We are cutting off some users who wanted a2c to run as well under FreeBSD as it does on Linux and the Mac.
A related plea: do *not* nuke Mono 1.2 from the ports directory when you add Mono 2. Given that we *know* that they are not compatible, and that Mono 1.2 runs some things that Mono 2 cannot, it would really be a disaster for us if we had to tell our users that they just can't use a2c on FreeBSD at all if they can't build Mono 1.2 easily.
--Paul Hoffman
Hello Paul,
This may be good news. The compilation of a2c seem to have hit the
exception bug that was just 'fixed' by using a workaround.
Please test it again.
thanks!
Yes indeedie! When might we see this in the real FreeBSD ports tree?
Things are working fine so far, i think we are close.. :)