[Mono-list] mono on FreeBSD
Paolo Molaro
lupus@ximian.com
Wed, 15 May 2002 12:21:51 +0200
On 05/14/02 Garrett Rooney wrote:
> the first problem was that FreeBSD doesn't (at the moment) have a
> libpthread, it's pthreads functions live in libc_r, so i had to add
> that lib to the list of libs to search for pthreads.
I applied your patch.
> once i got past that problem, i ran into a snag in
> mono/io-layer/daemon-messages.c. the MSG_NOSIGNAL flag to send and
> recv doesn't seem to be implemented on FreeBSD. if someone could fill
> me in on exactly what it does, i might be able to look into finding
> some alternative means of accomplishing the same end.
When the other end disappears you'd get a SIGPIPE. MSG_NOSIGNAL makes
the lib just return the error in that case without raising the signal.
I think the best solution would be to just signal (SIGPIPE, SIG_IGN),
but it would be good to know if BSD has a different flag we can use.
> after shortcutting around the problem by simply replacing MSG_NOSIGNAL
> with 0, i was able to get everything to build (with a lot of warnings
> mind you... is that normal on linux? i don't have a linux box around
> to play with, so i can't check).
I currently get a total of less than 30 warnings with a complete
rebuild, if you get a significant number of warnings, they probably are
in some system header or in the GLib headers (updating to the latest
GLib helps there). Of course, this is just a guess, without looking at
the actual warning messages...
> are there any publicly available precompiled mono libs/executables i
> could try this stuff out with?
The packaged snapshots should have binaries for corlib.dll, mcs.exe etc.
Check: http://www.go-mono.com/download.html.
There are also precompiled test cases that you can download:
http://www.go-mono.com/archive/mono-tests.tar.gz
Most of them you should be able to compile yourself once you get
mcs.exe running.
lupus
--
-----------------------------------------------------------------
lupus@debian.org debian/rules
lupus@ximian.com Monkeys do it better