Started from https://kirb.me/2018/03/24/using-samba-as-a-time-machine-network-server.html
Also: https://www.reddit.com/r/homelab/comments/83vkaz/howto_make_time_machine_backups_on_a_samba/
Fix for Job for nmb.service failed because a timeout was exceeded.
: https://askubuntu.com/a/1124086/63991
TLDR:
sudo apt install python3-dev liblmdb-dev libgnutls28-dev libgpgme-dev libjansson-dev libarchive-dev libacl1-dev libldap2-dev libpam0g-dev bison flex
Started with:
DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
$ ./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib/$DEB_HOST_MULTIARCH --with-privatedir=/var/lib/samba/private --with-smbpasswd-file=/etc/samba/smbpasswd --enable-fhs --enable-spotlight --with-systemd
-
Error:
Checking for header Python.h : Distutils not installed? Broken python installation? Get python-config now
Fix:
sudo apt install python3-dev
-
Error:
Checking for lmdb >= 0.9.16 : not found Checking for header lmdb.h : no Checking for lmdb >= 0.9.16 via header check : not found Samba AD DC and --enable-selftest requires lmdb 0.9.16 or later
Fix:
sudo apt install liblmdb-dev
-
Error:
Checking for gnutls >= 3.4.7 : not found Checking for gnutls >= 3.0.0s : not found Checking for gnutls >= 1.4.0 and broken versions : not found Building the AD DC requires GnuTLS (eg libgnutls-dev, gnutls-devel) for ldaps:// support and for the BackupKey protocol
Fix:
sudo apt install libgnutls28-dev
-
Error:
Checking for gpgme_new : not found GPGME support not found. Try installing libgpgme11-dev or gpgme-devel and python-gpgme. Otherwise, use --without-gpgme to build without GPGME support or --without-ad-dc to build without the Samba AD DC. GPGME support is required for the GPG encrypted password sync feature
Fix:
sudo apt install libgpgme-dev
-
Error:
Checking for jansson : not found Jansson JSON support not found. Try installing libjansson-dev or jansson-devel. Otherwise, use --without-json to build without JSON support. JSON support is required for the JSON formatted audit log feature, the AD DC, and the JSON printers of the net utility
Fix:
sudo apt install libjansson-dev
-
Error:
Checking for header archive.h : no libarchive support not found. Try installing libarchive-dev or libarchive-devel. Otherwise, use --without-libarchive to build without libarchive support. libarchive support is required for the smbclient tar-file mode
Fix:
sudo apt install libarchive-dev
-
Error:
Checking for library acl : no Checking for acl_get_file : not found Checking for POSIX ACL support : not found Checking for library sec : no Checking for facl : not found Checking for library pacl : no Checking for acl_get_fd : not found ACL support not found. Try installing libacl1-dev or libacl-devel. Otherwise, use --without-acl-support to build without ACL support. ACL support is required to change permissions from Windows clients.
Fix:
sudo apt install libacl1-dev
-
Error:
Checking for header ldap.h : no Checking for header lber.h : no Checking for header ldap_pvt.h : no Checking for ber_tag_t : not found Checking for library lber : no Checking for ber_scanf : not found Checking for ber_sockbuf_add_io : not found Checking for variable LDAP_OPT_SOCKBUF : not found Checking for variable LBER_OPT_LOG_PRINT_FN : not found Checking for library ldap : no Checking for ldap_init : not found Checking for ldap_init_fd : not found Checking for ldap_initialize : not found Checking for ldap_set_rebind_proc : not found Checking for library ldap : no Checking for ldap_add_result_entry : not found Checking whether ldap_set_rebind_proc takes 3 arguments : ok LDAP support not found. Try installing libldap2-dev or openldap-devel. Otherwise, use --without-ldap to build without LDAP support. LDAP support is required for the LDAP passdb backend, LDAP idmap backends and ADS. ADS support improves communication with Active Directory domain controllers.
Fix:
sudo apt install libldap2-dev
-
Error
Checking for header pam/pam_appl.h : no --with-pam=yes but pam_appl.h not found Checking for library pam : no Checking for pam_get_data : not found --with-pam=yes but pam_modules.h not found Checking for header security/pam_ext.h : no Checking for header security/_pam_macros.h : no Checking for header pam/pam_ext.h : no Checking for header pam/_pam_macros.h : no Checking for library pam : no Checking for pam_vsyslog : not found Checking whether PAM_RHOST is available : not found Checking whether PAM_TTY is available : not found Checking whether PAM_RADIO_TYPE is available : not found PAM support is enabled but prerequisite libraries or headers not found. Use --without-pam to disable PAM support.
Fix:
sudo apt install libpam0g-dev
-
Error:
Requested Spotlight support, checking for bison Checking for program 'bison' : not found Spotlight support requested but bison missing
Fix:
sudo apt install bison
-
Error:
Requested Spotlight support, checking for flex Checking for program 'flex' : not found Traceback (most recent call last): File "samba-4.10.8/third_party/waf/waflib/Scripting.py", line 159, in waf_entry_point run_commands() File "samba-4.10.8/third_party/waf/waflib/Scripting.py", line 255, in run_commands ctx = run_command(cmd_name) File "samba-4.10.8/third_party/waf/waflib/Scripting.py", line 239, in run_command ctx.execute() File "samba-4.10.8/third_party/waf/waflib/Configure.py", line 159, in execute super(ConfigurationContext, self).execute() File "samba-4.10.8/third_party/waf/waflib/Context.py", line 204, in execute self.recurse([os.path.dirname(g_module.root_path)]) File "samba-4.10.8/third_party/waf/waflib/Context.py", line 286, in recurse user_function(self) File "samba-4.10.8/wscript", line 310, in configure conf.RECURSE('source3') File "./buildtools/wafsamba/samba_utils.py", line 65, in fun return f(*k, **kw) File "./buildtools/wafsamba/samba_utils.py", line 468, in RECURSE return ctx.recurse(relpath) File "samba-4.10.8/third_party/waf/waflib/Context.py", line 286, in recurse user_function(self) File "samba-4.10.8/source3/wscript", line 1631, in configure flex.configure(conf) File "samba-4.10.8/third_party/waf/waflib/Tools/flex.py", line 59, in configure if re.search (r"\\msys\\[0-9.]+\\bin\\flex.exe$", conf.env.FLEX[0]): IndexError: list index out of range
Fix:
sudo apt install flex
perl module Parse::Yapp::Driver 1.05 : not found
perl module "Parse::Yapp::Driver" not found