If you are cross compiling Samba with something like:
CONFIG_SITE=config.site ./configure --host=arm-none-linux-gnueabi --without-krb5 --without-ldap --without-ads --with-privatedir=/var/locks --with-lockdir=/var/locks --with-piddir=/var/locks --with-modulesdir=/lib/vfs --with-aio-support --disable-fam
and you do not have something like samba_cv_USE_SETRESUID=yes in config.site, you end up with problems in source3/lib/util_sec.c:set_effective_[gu]id et all, because they all have things like this:
void set_effective_gid(gid_t gid)
If none of those USE_xxx symbols are set, nothing is done and you assert at runtime.
It would be useful for those doing cross compiles if there was something in there that caused a compile time error if none of those symbols is set/defined or perhaps a configure time error if none of them is defined in a cross compiling situation.
I guess it is too hard to do anything about this ...