Skip to content

Instantly share code, notes, and snippets.

@dlovitch
Last active October 7, 2022 23:25
Show Gist options
  • Save dlovitch/639ff512ba4a9d71004aa1d713966ce1 to your computer and use it in GitHub Desktop.
Save dlovitch/639ff512ba4a9d71004aa1d713966ce1 to your computer and use it in GitHub Desktop.

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
  1. Error:

    Checking for header Python.h                                                      : Distutils not installed? Broken python   installation? Get python-config now
    

    Fix:

    sudo apt install python3-dev
    
  2. 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
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. 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
    
  8. 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
    
  9. 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
    
  10. Error:

    Requested Spotlight support, checking for bison
    Checking for program 'bison'                                                      : not found 
    Spotlight support requested but bison missing
    

    Fix:

    sudo apt install bison
    
  11. 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
    
@adrianmihalko
Copy link

perl module Parse::Yapp::Driver 1.05 : not found
perl module "Parse::Yapp::Driver" not found

@dlovitch
Copy link
Author

dlovitch commented Oct 7, 2022

Maybe this will help? https://bugs.gentoo.org/673168
Sounds like you might need to uninstall before doing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment