I've been running on my server on FreeBSD 7.2(amd64&i386) for a few months now thanks to your autobuild script, and yes this patch is required to compile. However it will not run without an additional fix. The fix is below. The problem is that when it tries load the shared memory stuff, there is a undefined reference, which returns an error. If I remember correctly, the reference is to 'nss_cache_cycle_prevention_func', or something similar. I don't understand the details of where this error is originating, or why, so I wasn't able to fix this properly. This patch simply skips checking for errors,
so I wouldn't recommend it. And for some reason the emu code checks for an error, but does not log it, which made tracking this down fun. Maybe someone else can shed some light on how to write a proper fix.
Code:
--- common/SharedLibrary.cpp 2009-09-01 18:00:13.000000000 +0000
+++ common/SharedLibrary.cpp.new 2009-09-01 18:08:17.000000000 +0000
@@ -83,10 +83,10 @@
return(NULL);
void *r = GetProcAddress(hDLL, name);
-
+#ifndef FREEBSD
if(GetError() != NULL)
r = NULL;
-
+#endif
return(r);
}