Now you'll be able to run .NET programs that bind on port numbers (below 1024) that are traditionally reserved for root (require root privileges). Traditional UNIX implementations distinguish two categories of processes: privileged processes (whose effective user ID is 0, referred to as superuser or root), and unprivileged processes (whose effective UID is nonzero). Privileged processes bypass all kernel permission checks. In order to run a process as non-root and bind to a port <1024 you need to give that binary a net_bind_service capability.

The solution turned out to be adding the following switch to MONO's autogen script:--libdir=/usr/lib64
My whole compilation script was:#!/bin/shcd /home/jmd/monoFoka/./autogen.sh --prefix=/usr --libdir=/usr/lib64makemake install

The whole body of the exception:System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd () at Mono.Unix.Native.Syscall..cctor () [0x0000a] in /home/user/mono/mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs:2168 --- End of inner exception stack trace --- at MonoDevelop.Core.LoggingService.RedirectOutputToFileUnix (FilePath logDirectory, System.String logName) [0x0001f] in /home/abuild/rpmbuild/BUILD/monodevelop-3.0.6/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:177 at MonoDevelop.Core.LoggingService.RedirectOutputToLogFile () [0x00046] in /home/abuild/rpmbuild/BUILD/monodevelop-3.0.6/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:140