Samba4 on non-Linux OSes?
John Danks
john.danks at gmail.com
Thu Jun 10 17:16:00 MDT 2010
Is Samba4 expected compile and run on non-Linux OSes? I remember
reading something like that in the past but now I can't find any
definitive statements either way.
I'm attempting to build and test the latest s4 from git on OpenBSD 4.7
(amd64). The build completes but the quicktest fails, complaining
about a talloc double free. The steps I used are:
$ cd samba-master/source4
$ ./autogen.sh
$ ./configure.developer (output below)
$ gmake
$ gmake quicktest
WAF_MAKE=1 ../buildtools/bin/waf test --quick
'test' finished successfully (0.000s)
Waf: Entering directory `/home/johnd/samba-master/source4/bin'
Waf: Leaving directory `/home/johnd/samba-master/source4/bin'
'build' finished successfully (6.873s)
test: running (/usr/bin/perl ../selftest/selftest.pl --prefix=./st
--builddir=. --srcdir=. --exclude=./selftest/skip
--testlist="./selftest/tests.sh|" --exclude=./selftest/slow --quick
--include=./selftest/quick --socket-wrapper && touch ./st/st_done) |
/usr/local/bin/python -u ../selftest/filter-subunit
--expected-failures=./selftest/knownfail | /usr/local/bin/python -u
../selftest/format-subunit --prefix=./st --immediate
tap2subunit: Command not found.
Version 4.0.0alpha12-GIT-bcc4383
OPTIONS --configfile=$SMB_CONF_PATH --maximum-runtime=1200
--target=samba4 --basedir=/home/johnd/samba-master/source4/st/s4client
--option=torture:progress=no --format=subunit
--option=torture:quick=yes
pdc_fsmo_init: no domain object present: (skip loading of domain details)
naming_fsmo_init: no partitions dn present: (skip loading of naming
contexts details)
naming_fsmo_init: no partitions dn present: (skip loading of naming
contexts details)
naming_fsmo_init: no partitions dn present: (skip loading of naming
contexts details)
PROVISIONING DC...dos charset 'CP850' unavailable - using ASCII
schema_load_init: dsdb_set_schema() failed: 32:No such object:
del_trans error on
CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com: prepare_commit
error on CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com: Failed
to store index records in transaction commit: Other
talloc: double free error - first free may be at
../dsdb/samdb/ldb_modules/schema_load.c:237
Bad talloc magic value - double free
Abort trap (core dumped)
Unable to provision:
NSS_WRAPPER_PASSWD="/home/johnd/samba-master/source4/st/dc/etc/passwd"
NSS_WRAPPER_GROUP="/home/johnd/samba-master/source4/st/dc/etc/group"
./setup/provision
--configfile=/home/johnd/samba-master/source4/st/dc/etc/smb.conf
--host-name=localdc1 --host-ip=127.0.0.1 --quiet --domain=SAMBADOMAIN
--realm=SAMBA.EXAMPLE.COM --adminpass=locDCpass0
--krbtgtpass=krbtgtlocDCpass0 --machinepass=machinelocDCpass0
--root=johnd --server-role="domain controller"
A summary with detailed information can be found in:
./st/summary
ALL OK (0 tests in 0 testsuites)
ERROR: test command failed to complete
gmake: *** [quicktest] Error 1
-----
OpenBSD has ports for talloc and tdb but the versions are slightly
older than what configure is checking for. I was going to update the
ports but it seems that the official websites don't have the latest
distfiles. For example, http://talloc.samba.org/ links to
http://samba.org/ftp/talloc/ which only has talloc-2.0.1.tar.gz while
configure is checking for >= 2.0.3. Is this intended to make sure
people are building with the latest in-tree version of these
libraries?
So then I tried to use 'waf dist' to make new distfiles as described
on http://wiki.samba.org/index.php/Waf#creating_distribution_tarballs:_waf_dist
but it only seems to create a dist file for all of s4 rather just
talloc, tdb, etc:
$ cd samba-master/lib/tevent
$ ../../buildtools/bin/waf dist
Created samba-4.0.0alpha12-GIT-bcc4383.tar.gz
'dist' finished successfully (12.280s)
Any help or pointers would be appreciated. Thanks.
Output from ./configure.developer...
Checking for program gcc or cc : /usr/bin/gcc
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for gcc : ok
Checking for program git : /usr/local/bin/git
Checking for program gdb : /usr/bin/gdb
Checking build system : OpenBSD XXX 4.7 GENERIC.MP#130 amd64
Checking for header sys/utsname.h : yes
Checking uname sysname type : OpenBSD
Checking uname machine type : amd64
Checking uname release type : 4.7
Checking uname version type : GENERIC.MP#130
Checking for header stdio.h : yes
Checking simple C program : ok
Checking for building library support : ok
Checking for rpath library support : ok
Checking compiler accepts -fPIC : yes
Checking for inline : inline
Checking for pkg-config version >= 0.0.0 : yes
Checking for header sys/types.h : yes
Checking for header sys/stat.h : yes
Checking for header stdlib.h : yes
Checking for header stddef.h : yes
Checking for header memory.h : yes
Checking for header string.h : yes
Checking for header strings.h : yes
Checking for header inttypes.h : yes
Checking for header stdint.h : yes
Checking for header unistd.h : yes
Checking for header minix/config.h : no
Checking for header ctype.h : yes
Checking for header standards.h : no
Checking for header stdbool.h : yes
Checking for header stdarg.h : yes
Checking for header vararg.h : no
Checking for header limits.h : yes
Checking for header assert.h : yes
Checking for large file support : ok
Checking for header sys/time.h : yes
Checking for header time.h : yes
Checking for WORDS_BIGENDIAN : not found
Checking for header signal.h : yes
Checking if signal handlers return int : not found
Checking for variable __FUNCTION__ : ok
Checking for va_copy : ok
Checking for HAVE__VA_ARGS__MACRO : ok
Checking for header crypt.h : no
Checking for header locale.h : yes
Checking for header acl/libacl.h : no
Checking for header compat.h : no
Checking for header attr/xattr.h : no
Checking for header dustat.h : no
Checking for header fcntl.h : yes
Checking for header fnmatch.h : yes
Checking for header glob.h : yes
Checking for header history.h : no
Checking for header krb5.h : no
Checking for header langinfo.h : yes
Checking for header libaio.h : no
Checking for header ndir.h : no
Checking for header pwd.h : yes
Checking for header shadow.h : no
Checking for header sys/acl.h : no
Checking for header sys/attributes.h : no
Checking for header sys/capability.h : no
Checking for header sys/dir.h : yes
Checking for header sys/epoll.h : no
Checking for header sys/fcntl.h : yes
Checking for header sys/filio.h : yes
Checking for header sys/filsys.h : no
Checking for header sys/fs/s5param.h : no
Checking for header sys/fs/vx/quota.h : no
Checking for header sys/id.h : no
Checking for header sys/ioctl.h : yes
Checking for header sys/ipc.h : yes
Checking for header sys/mman.h : yes
Checking for header sys/mode.h : no
Checking for header sys/ndir.h : no
Checking for header sys/priv.h : no
Checking for header sys/resource.h : yes
Checking for header sys/security.h : no
Checking for header sys/shm.h : yes
Checking for header sys/statfs.h : no
Checking for header sys/statvfs.h : yes
Checking for header sys/termio.h : no
Checking for header sys/vfs.h : no
Checking for header sys/xattr.h : no
Checking for header termio.h : no
Checking for header termios.h : yes
Checking for header sys/file.h : yes
Checking for header sys/wait.h : yes
Checking for header malloc.h : yes
Checking for header grp.h : yes
Checking for header sys/select.h : yes
Checking for header setjmp.h : yes
Checking for header utime.h : yes
Checking for header sys/syslog.h : yes
Checking for header syslog.h : yes
Checking for header sys/mount.h : no
Checking for header mntent.h : no
Checking for header stropts.h : no
Checking for header unix.h : no
Checking for header sys/param.h : yes
Checking for header sys/socket.h : yes
Checking for header netinet/in.h : yes
Checking for header netdb.h : yes
Checking for header arpa/inet.h : yes
Checking for header netinet/in_systm.h : yes
Checking for header netinet/ip.h : yes
Checking for header netinet/tcp.h : yes
Checking for header netinet/in_ip.h : no
Checking for header sys/sockio.h : yes
Checking for header sys/un.h : yes
Checking for header sys/uio.h : yes
Checking for header ifaddrs.h : yes
Checking for header direct.h : no
Checking for header dirent.h : yes
Checking for header windows.h : no
Checking for header winsock2.h : no
Checking for header ws2tcpip.h : no
Checking for header libintl.h : no
Checking for header errno.h : yes
Checking for header gcrypt.h : no
Checking for header getopt.h : yes
Checking for header iconv.h : no
Checking for header sys/inotify.h : no
Checking for header nss.h : no
Checking for header sasl/sasl.h : no
Checking for header security/pam_appl.h : no
Checking for header zlib.h : yes
Checking for header asm/unistd.h : no
Checking for header aio.h : no
Checking for header sys/unistd.h : yes
Checking for header rpc/rpc.h : yes
Checking for header rpc/nettype.h : no
Checking for header alloca.h : no
Checking for header float.h : yes
Checking for header rpcsvc/nis.h : no
Checking for header rpcsvc/ypclnt.h : yes
Checking for header sys/prctl.h : no
Checking for header sys/sysctl.h : no
Checking for header sys/fileio.h : no
Checking for header sys/filesys.h : no
Checking for header sys/dustat.h : no
Checking for header sys/sysmacros.h : no
Checking for header xfs/libxfs.h : no
Checking for header netgroup.h : yes
Checking for header rpcsvc/yp_prot.h : no
Checking for header valgrind.h : no
Checking for header valgrind/valgrind.h : no
Checking for header valgrind/memcheck.h : no
Checking for header nss_common.h : no
Checking for header nsswitch.h : no
Checking for header ns_api.h : no
Checking for header sys/extattr.h : no
Checking for header sys/ea.h : no
Checking for header sys/proplist.h : no
Checking for header sys/cdefs.h : yes
Checking for header utmp.h : yes
Checking for header utmpx.h : no
Checking for header lastlog.h : no
Checking for header syscall.h : no
Checking for header sys/syscall.h : yes
Checking for long long : ok
Checking for intptr_t : ok
Checking for uintptr_t : ok
Checking for ptrdiff_t : ok
Checking for comparison_fn_t : not found
Checking for bool : ok
Checking for _Bool : ok
Checking for int8_t : ok
Checking for int16_t : ok
Checking for uint16_t : ok
Checking for int32_t : ok
Checking for uint32_t : ok
Checking for int64_t : ok
Checking for uint64_t : ok
Checking for size_t : ok
Checking for ssize_t : ok
Checking for ino_t : ok
Checking for loff_t : not found
Checking for offset_t : not found
Checking for volatile int : ok
Checking for uint_t : not found
Checking for socklen_t : ok
Checking for struct ifaddrs : ok
Checking for struct addrinfo : ok
Checking for struct sockaddr : ok
Checking for HAVE_STRUCT_SOCKADDR_IN6 : ok
Checking for struct sockaddr_storage : ok
Checking for sa_family_t : ok
Checking for sig_atomic_t : ok
Checking for inet_ntoa : ok
Checking for inet_aton : ok
Checking for inet_ntop : ok
Checking for inet_pton : ok
Checking for connect : ok
Checking for gethostbyname : ok
Checking for getaddrinfo : ok
Checking for getnameinfo : ok
Checking for freeaddrinfo : ok
Checking for gai_strerror : ok
Checking for socketpair : ok
Checking for variable IPV6_V6ONLY : ok
Checking for HAVE_IPV6 : ok
Checking for strdup : ok
Checking for memmem : not found
Checking for printf : ok
Checking for memset : ok
Checking for memcpy : ok
Checking for memmove : ok
Checking for strcpy : ok
Checking for strncpy : ok
Checking for bzero : ok
Checking for shl_load : not found
Checking for shl_unload : not found
Checking for shl_findsym : not found
Checking for pipe : ok
Checking for strftime : ok
Checking for srandom : ok
Checking for random : ok
Checking for srand : ok
Checking for rand : ok
Checking for usleep : ok
Checking for setbuffer : ok
Checking for lstat : ok
Checking for getpgrp : ok
Checking for utime : ok
Checking for utimes : ok
Checking for seteuid : ok
Checking for setresuid : ok
Checking for setegid : ok
Checking for setresgid : ok
Checking for chroot : ok
Checking for strerror : ok
Checking for vsyslog : ok
Checking for setlinebuf : ok
Checking for mktime : ok
Checking for ftruncate : ok
Checking for chsize : not found
Checking for rename : ok
Checking for waitpid : ok
Checking for wait4 : ok
Checking for strlcpy : ok
Checking for strlcat : ok
Checking for initgroups : ok
Checking for pread : ok
Checking for pwrite : ok
Checking for strndup : not found
Checking for strcasestr : ok
Checking for strtok_r : ok
Checking for mkdtemp : ok
Checking for dup2 : ok
Checking for dprintf : not found
Checking for vdprintf : not found
Checking for isatty : ok
Checking for chown : ok
Checking for lchown : ok
Checking for link : ok
Checking for readlink : ok
Checking for symlink : ok
Checking for realpath : ok
Checking for snprintf : ok
Checking for vsnprintf : ok
Checking for asprintf : ok
Checking for vasprintf : ok
Checking for setenv : ok
Checking for unsetenv : ok
Checking for strnlen : not found
Checking for strtoull : ok
Checking for __strtoull : not found
Checking for strtouq : ok
Checking for strtoll : ok
Checking for __strtoll : not found
Checking for strtoq : ok
Checking for if_nametoindex : ok
Checking for strerror_r : ok
Checking for getdirentries : ok
Checking for getdents : not found
Checking for syslog : ok
Checking for gai_strerror : ok
Checking for get_current_dir_name : not found
Checking for timegm : ok
Checking for getifaddrs : ok
Checking for freeifaddrs : ok
Checking for mmap : ok
Checking for setgroups : ok
Checking for setsid : ok
Checking for getgrent_r : not found
Checking for getgrgid_r : ok
Checking for getgrnam_r : ok
Checking for getgrouplist : ok
Checking for getpagesize : ok
Checking for getpwent_r : not found
Checking for getpwnam_r : ok
Checking for getpwuid_r : ok
Checking for epoll_create : not found
Checking for dlopen : ok
Checking for dlsym : ok
Checking for dlerror : ok
Checking for dlclose : ok
Checking for declaration of dlopen : ok
Checking C prototype for dlopen : not found
Checking for fdatasync : not found
Checking for library rt : not found
Checking for fdatasync : not found
Checking for header net/if.h : yes
Checking for header arpa/nameser.h : yes
Checking for header resolv.h : yes
Checking for res_search : ok
Checking for gettext : not found
Checking for library intl : not found
Checking for gettext : not found
Checking for pthread_create : not found
Checking for library pthread : yes
Checking for pthread_create : ok
Checking for crypt : ok
Checking for header readline.h : no
Checking for header readline/readline.h : yes
Checking for header readline/history.h : yes
Checking for variable rl_event_hook : ok
Checking for declaration of snprintf : ok
Checking for declaration of vsnprintf : ok
Checking for declaration of asprintf : ok
Checking for declaration of vasprintf : ok
Checking for declaration of errno : ok
Checking for declaration of environ : not found
Checking for declaration of getgrent_r : not found
Checking for declaration of getpwent_r : not found
Checking for declaration of pread : ok
Checking for declaration of pwrite : ok
Checking for declaration of setenv : ok
Checking for declaration of setresgid : ok
Checking for declaration of setresuid : ok
Checking size of char : 1
Checking size of int : 4
Checking size of long long : 8
Checking size of long : 8
Checking size of off_t : 8
Checking size of short : 2
Checking size of size_t : 8
Checking size of ssize_t : 8
Checking size of dev_t : 4
Checking size of ino_t : 4
Checking size of time_t : 4
Checking size of void* : 8
Checking for working strptime : not found
Checking for HAVE_GETTIMEOFDAY_TZ : ok
Checking for C99 vsnprintf : ok
Checking for HAVE_IMMEDIATE_STRUCTURES : ok
Checking for HAVE_MKDIR_MODE : ok
Checking for member st_mtim.tv_nsec in struct stat : ok
Checking for member st_rdev in struct stat : ok
Checking for member st_rdev in struct stat : ok
Checking for member ss_family in struct sockaddr_storage : ok
Checking for member sa_len in struct sockaddr : ok
Checking for member sin_len in struct sockaddr_in : ok
Checking for HAVE_UNIXSOCKET : ok
Checking for HAVE_SECURE_MKSTEMP : ok
Checking compiler accepts -fvisibility=hidden : no
Checking for working strptime : not found
Checking for HAVE_IFACE_GETIFADDRS : ok
Checking for getpass : ok
Checking for getpassphrase : not found
Checking for REPLACE_GETPASS : ok
Checking for getpwnam_r : ok
Checking for getpwuid_r : ok
Checking for getpwent_r : not found
Checking for declaration of getpwent_r : not found
Checking for declaration of getgrent_r : not found
Checking for declaration of getpwent_r : not found
Checking for declaration of getgrent_r : not found
Checking for getgrouplist : ok
Checking for program python :
/usr/local/bin/python
Checking for program perl : /usr/bin/perl
Checking for program xsltproc :
/usr/local/bin/xsltproc
Checking for program python :
/usr/local/bin/python
Checking for Python version >= 2.4.2 : ok 2.5.4
Checking for library python2.5 : yes
Checking for program python2.5-config :
/usr/local/bin/python2.5-config
Checking for custom code : yes
Checking for Python version >= 2.4.2 : ok 2.5.4
Checking for library python2.5 : yes
Checking for program python2.5-config :
/usr/local/bin/python2.5-config
Checking for custom code : yes
Checking for system tdb >= 1.2.2 : not found
Checking for Python version >= 2.4.2 : ok 2.5.4
Checking for library python2.5 : yes
Checking for program python2.5-config :
/usr/local/bin/python2.5-config
Checking for custom code : yes
Checking for system talloc >= 2.0.3 : not found
Checking for system tevent >= 0.9.9 : not found
Checking for epoll_create : not found
Checking for system popt >= 0.0.0 : not found
Checking for header popt.h : no
Checking for system ldb >= 0.9.11 : not found
Checking for u_char : ok
Checking for u_int32_t : ok
Checking for header err.h : yes
Checking for header sys/bswap.h : no
Checking for header sys/stropts.h : no
Checking for header sys/timeb.h : yes
Checking for header sys/times.h : yes
Checking for header timezone.h : no
Checking for header ttyname.h : no
Checking for header netinet/in6.h : no
Checking for header netinet6/in6.h : no
Checking for header curses.h : yes
Checking for header term.h : yes
Checking for header termcap.h : yes
Checking for atexit : ok
Checking for cgetent : ok
Checking for getprogname : not found
Checking for setprogname : not found
Checking for gethostname : ok
Checking for putenv : ok
Checking for rcmd : ok
Checking for readv : ok
Checking for sendmsg : ok
Checking for setitimer : ok
Checking for strlwr : not found
Checking for strncasecmp : ok
Checking for strptime : ok
Checking for strsep : ok
Checking for strsep_copy : not found
Checking for strtok_r : ok
Checking for strupr : not found
Checking for swab : ok
Checking for umask : ok
Checking for uname : ok
Checking for unsetenv : ok
Checking for closefrom : ok
Checking for err : ok
Checking for warn : ok
Checking for errx : ok
Checking for warnx : ok
Checking for flock : ok
Checking for writev : ok
Checking for hstrerror : ok
Checking for socket : ok
Checking for getipnodebyname : not found
Checking for gethostent : ok
Checking for gethostent_r : not found
Checking for sethostent : ok
Checking for endhostent : ok
Checking for getipnodebyaddr : not found
Checking for freehostent : not found
Checking for gethostbyname_r : not found
Checking for gethostbyaddr : ok
Checking for library socket : not found
Checking for library nsl : not found
Checking for getipnodebyname : not found
Checking for gethostent_r : not found
Checking for getipnodebyaddr : not found
Checking for freehostent : not found
Checking for gethostbyname_r : not found
Checking for library intl : not found
Checking for dgettext : not found
Checking for gettext : not found
Checking for iruserok : ok
Checking for bswap16 : not found
Checking for bswap32 : not found
Checking for header sys/termios.h : yes
Checking for struct winsize : ok
Checking for member ws_xpixel in struct winsize : ok
Checking for member ws_ypixel in struct winsize : ok
Checking for variable h_errno : ok
Checking for declaration of h_errno : ok
Checking for res_nsearch : not found
Checking for res_ndestroy : not found
Checking for dns_search : not found
Checking for dn_expand : ok
Checking for library resolv : not found
Checking for res_nsearch : not found
Checking for res_ndestroy : not found
Checking for dns_search : not found
Checking for variable _res : ok
Checking for declaration of _res : ok
Checking for openpty : not found
Checking for library util : yes
Checking for openpty : ok
Checking for dirfd : not found
Checking for declaration of dirfd : ok
Checking for member dd_fd in DIR : ok
Checking for gnutls >= 1.4.0 : not found
Checking for library gnutls : not found
Checking for gnutls_global_init : not found
Checking for header gnutls/x509.h : no
Checking for variable gnutls_x509_crt_set_version : not found
Checking for variable gnutls_x509_crt_set_subject_key_id : not found
Checking for gnutls_datum : not found
Checking for gnutls_datum_t : not found
Checking for library gcrypt : not found
Checking for gcry_control : not found
Checking for library gpg-error : not found
Checking for gpg_err_code_from_errno : not found
Checking for header linux/inotify.h : no
Checking for inotify_init : not found
Checking for variable __NR_inotify_init : not found
Checking for header linux/fcntl.h : no
Checking for declaration of F_SETLEASE : not found
Checking for declaration of SA_SIGINFO : ok
Checking for declaration of __NR_inotify_init : not found
Checking for backtrace : not found
Checking for library execinfo : not found
Checking for backtrace : not found
Checking for sigprocmask : ok
Checking for sigblock : ok
Checking for sigaction : ok
Checking for flistxattr : not found
Checking for library attr : not found
Checking for flistxattr : not found
Checking for darwin xattr api : not found
Checking for member f_frsize in struct statvfs : ok
Checking for Linux statvfs64 : not found
Checking for statvfs (SVR4) : ok
Checking if f_fsid is an integer : ok
Checking whether statvfs.f_flag exists : ok
Checking whether statvfs.f_flags exists : not found
Checking for library z : yes
Checking for zlibVersion : ok
Checking for ZLIB_VERNUM >= 0x1230 : ok
Checking for library iconv : not found
Checking for iconv_open : not found
Checking for iconv_open : not found
Checking for pam_start : not found
Checking for library pam : not found
Checking for pam_start : not found
Checking for header security/pam_modules.h : no
Checking for header pam/pam_modules.h : no
Checking for pam_start : not found
Checking for library pam : not found
Checking for pam_start : not found
Checking for library ncurses : yes
Checking for tgetent : ok
Checking for rl_completion_t : not found
Checking for CPPFunction : ok
Checking for library readline : not found
Checking for rl_completion_matches : not found
Checking for library readline : not found
Checking for rl_event_hook : not found
perl manpage generation : ok
perl man1 extension : 1
perl man3 extension : 3p
Checking for program yapp : not found
Checking compiler accepts -Wall : yes
Checking compiler accepts -g : yes
Checking compiler accepts -Wshadow : yes
Checking compiler accepts -Wstrict-prototypes : yes
Checking compiler accepts -Wpointer-arith : yes
Checking compiler accepts -Wcast-qual : yes
Checking compiler accepts -Wcast-align : yes
Checking compiler accepts -Wwrite-strings : yes
Checking compiler accepts -Werror-implicit-function-declaration : yes
Checking compiler accepts -Wformat=2 : yes
Checking compiler accepts -Wno-format-y2k : yes
'configure' finished successfully (38.214s)
More information about the samba-technical
mailing list