If you are using newer systemd, the library was renamed. I got it in my GNU/Linux Gentoo with systemd-215. The solution is to add this patch:

--- a/lib/util/wscript_build 2014-06-03 15:05:52.000000000 +0700
+++ b/lib/util/wscript_build    2014-07-15 14:18:37.000000000 +0700
@@ -10,7 +10,7 @@
                     server_id.c dprintf.c parmlist.c bitmap.c pidfile.c
                     tevent_debug.c util_process.c''',
                   deps='DYNCONFIG',
-                  public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon',
+                  public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon systemd',
                   public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h',
                   header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ],
                   local_include=False,
--- a/wscript   2014-06-03 15:05:52.000000000 +0700
+++ b/wscript   2014-07-15 14:42:19.000000000 +0700
@@ -186,7 +186,7 @@
         conf.check_cfg(package='libsystemd-daemon', args='--cflags --libs',
                        msg='Checking for libsystemd-daemon', uselib_store="SYSTEMD-DAEMON")
         conf.CHECK_HEADERS('systemd/sd-daemon.h', lib='systemd-daemon')
-        conf.CHECK_LIB('systemd-daemon', shlib=True)
+        conf.CHECK_LIB('systemd-daemon systemd', shlib=True)
 
     if conf.CONFIG_SET('HAVE_SYSTEMD_SD_DAEMON_H'):
         conf.DEFINE('HAVE_SYSTEMD', '1')

Put this file in /etc/portage/patches/net-fs/samba-4.1.9/fix-SAMBA4-with-newer-systemd.patch or anywhere suitable. Hopes this help people.