This the error section that ends the build. default/lib/util/become_daemon_1.o: In function `become_daemon': become_daemon.c:(.text+0x1e0): undefined reference to `sd_notifyf' default/lib/util/become_daemon_1.o: In function `exit_daemon': become_daemon.c:(.text+0x211): undefined reference to `sd_notifyf' default/lib/util/become_daemon_1.o: In function `daemon_ready': become_daemon.c:(.text+0x291): undefined reference to `sd_notifyf' default/lib/util/become_daemon_1.o: In function `daemon_status': become_daemon.c:(.text+0x30c): undefined reference to `sd_notifyf' collect2: error: ld returned 1 exit status I am using client and winbind flags and systemd-220-r2 Looks like the same error that was previously patched for.
Note: samba-4.1.18 no longer build either and fails with the same error. It was last successfully installed on June 21. These are the packages upgraded or installed since that date: Mon Jun 22 07:32:24 2015 >>> media-video/ffmpeg-2.7.1:0 Mon Jun 22 07:33:51 2015 >>> app-arch/p7zip-9.38.1-r2:0 Mon Jun 22 11:53:29 2015 >>> dev-python/pbr-1.2.0:0 Mon Jun 22 11:53:39 2015 >>> dev-python/pyasn1-0.1.8:0 Mon Jun 22 11:58:25 2015 >>> sys-kernel/gentoo-sources-4.1.0:4.1.0 Mon Jun 22 11:59:08 2015 >>> dev-python/ipython-3.2.0:0 Mon Jun 22 12:49:54 2015 >>> x11-drivers/nvidia-drivers-352.21:0 Mon Jun 22 12:50:43 2015 >>> app-emulation/vmware-modules-280.0:0 Mon Jun 22 16:42:30 2015 >>> media-plugins/alsa-plugins-1.0.29-r1:0 Tue Jun 23 12:24:55 2015 >>> dev-libs/libinput-0.18.0:0 Tue Jun 23 12:25:05 2015 >>> dev-util/scons-2.3.5:0 Tue Jun 23 12:25:56 2015 >>> net-analyzer/nagios-plugins-2.0.3-r2:0 Tue Jun 23 15:23:14 2015 >>> sys-kernel/linux-headers-4.1:0 Tue Jun 23 15:34:54 2015 >>> sys-libs/glibc-2.20-r2:2.2 Wed Jun 24 12:47:36 2015 >>> dev-java/xpp2-2.1.10-r2:0 Wed Jun 24 12:47:46 2015 >>> www-plugins/adobe-flash-11.2.202.468:0 Wed Jun 24 20:52:04 2015 >>> dev-python/pycurl-7.19.5.1:0 Wed Jun 24 20:52:18 2015 >>> dev-python/pycups-1.9.72:0 Wed Jun 24 20:52:31 2015 >>> app-admin/system-config-printer-1.4.8:0 Thu Jun 25 13:18:43 2015 >>> media-libs/libdvbpsi-1.3.0:0 Thu Jun 25 13:21:26 2015 >>> net-libs/nodejs-0.12.5:0 Thu Jun 25 13:24:10 2015 >>> www-client/opera-30.0.1835.88:0 Fri Jun 26 12:46:23 2015 >>> app-text/scrollkeeper-9999-r1:0 Fri Jun 26 12:46:40 2015 >>> dev-python/setuptools-18.0.1:0 Fri Jun 26 12:46:50 2015 >>> dev-python/py-1.4.30:0 Fri Jun 26 12:47:00 2015 >>> dev-python/pytest-2.7.2:0 Fri Jun 26 12:47:27 2015 >>> dev-python/subunit-1.1.0:0 Fri Jun 26 13:57:10 2015 >>> dev-python/pyasn1-modules-0.0.6:0 Fri Jun 26 13:57:35 2015 >>> www-client/google-chrome-beta-44.0.2403.61_p1:0 I assume one the the upgrades is at fault.
Please post the output of `emerge --info` and your complete build.log for samba.
It's systemd. https://bugzilla.samba.org/show_bug.cgi?id=10672 "Starting with v209, public APIs of systemd are contained in a single library called libsystemd. Support it alongside old libsystemd-daemon."
For those affected, here is a simple workaround: LDFLAGS="-lsystemd" emerge -1 samba
This commit https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/waf-utils.eclass?r1=1.22&r2=1.23 is at fault. Removing base.eclass orphans the PATCHES variable, which you can see is not used anymore. One fix would be to add base.eclass to the samba ebuild, or have a patching routine in waf-utils.eclass.
The comment #4 workaround worked. For some reason the systemd patch stopped working since 6/21 and there is no -lsystemd in the linker command. from the build log Checking for libsystemd-daemon : yes Checking for header systemd/sd-daemon.h : yes Checking for library systemd-daemon : no from config.log Checking for libsystemd-daemon pkg-config --errors-to-stdout --print-errors --cflags --libs libsystemd-daemon -lsystemd yes ----------------------------------------------------------------------------------------------- Checking for header systemd/sd-daemon.h ==> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <stddef.h> #include <memory.h> #include <string.h> #include <strings.h> #include <inttypes.h> #include <stdint.h> #include <unistd.h> #include <ctype.h> #include <stdbool.h> #include <stdarg.h> #include <systemd/sd-daemon.h> int main(void) { return 0; } <== [1/1] Compiling test.c ['x86_64-pc-linux-gnu-g
adding base.eclass to the ebuild fixes the problem
*** Bug 553454 has been marked as a duplicate of this bug. ***
+ 28 Jun 2015; Patrick Lauer <patrick@gentoo.org> samba-4.0.26.ebuild, + samba-4.1.18.ebuild, samba-4.1.19.ebuild, samba-4.2.0.ebuild: + Temporary fix for #553384
So this seems to be a clear case of using eclass functions without inheriting the eclass.