Samba build failures on MacOS X

Steve French smfrench at gmail.com
Sun Jun 29 18:20:05 MDT 2014


Interesting - the latter is a known problem

https://trac.macports.org/ticket/38639

but also interesting that some macports users think Samba no longer
supports building on MacOS.   See comment 19

https://trac.macports.org/ticket/38834

On Sun, Jun 29, 2014 at 7:12 PM, Steve French <smfrench at gmail.com> wrote:
> port install samba4 on Mac also results in a failure (link failure)
> but obviously using the older Samba 4.0 code base rather than 4.2pre
>
> :info:build Linking bin/regpatch
>
> :info:build Undefined symbols for architecture x86_64:
>
> :info:build   "_gnutls_transport_set_lowat", referenced from:
>
> :info:build       _tls_init_server in libtls.a(tls.o)
>
> :info:build       _tls_init_client in libtls.a(tls.o)
>
> :info:build ld: symbol(s) not found for architecture x86_64
>
> :info:build clang: error: linker command failed with exit code 1 (use
> -v to see invocation)
>
> :info:build make: *** [bin/regpatch] Error 1
>
> :info:build make: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_samba4/samba4/work/samba-4.0.0tp5/source'
>
> :info:build Command failed:  cd
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_samba4/samba4/work/samba-4.0.0tp5/source"
> && /usr/bin/make -j8 -w all
>
> On Sun, Jun 29, 2014 at 6:10 PM, Steve French <smfrench at gmail.com> wrote:
>> FYI - Noticed current Samba master doesn't build on MacOS X
>>
>> ./configure --without-acl-support
>> make
>>
>> Ended up with the readline compile failure:
>>
>> [1978/3885] Compiling libcli/smbreadline/smbreadline.c
>>
>> ../libcli/smbreadline/smbreadline.c:139:38: error: use of undeclared
>> identifier 'CPPFunction'
>>
>>                 rl_attempted_completion_function = RL_COMPLETION_CAST
>> completion_fn;
>>
>>                                                    ^
>>
>> ../lib/replace/system/readline.h:47:31: note: expanded from macro
>> 'RL_COMPLETION_CAST'
>>
>> #  define RL_COMPLETION_CAST (CPPFunction *)
>>
>>                               ^
>>
>> ../libcli/smbreadline/smbreadline.c:139:38: error: expected expression
>>
>> ../lib/replace/system/readline.h:47:44: note: expanded from macro
>> 'RL_COMPLETION_CAST'
>>
>> #  define RL_COMPLETION_CAST (CPPFunction *)
>>
>> That is easy enough to workaround by forcing the cast to rl_completion_func_t in
>>
>> rl_attempted_completion_function = (rl_completion_func_t *)   completion_fn;
>>
>> but the various problems with socket header definitions look harder to
>> work around
>>
>> [1986/3885] Compiling lib/socket_wrapper/socket_wrapper.c
>>
>> ../lib/socket_wrapper/socket_wrapper.c:3172:8: error: use of
>> undeclared identifier 'SO_PROTOCOL'
>>
>>                 case SO_PROTOCOL:
>>
>>                      ^
>>
>> ../lib/socket_wrapper/socket_wrapper.c:3336:2: error: NO_CMSG_ALIGN
>>
>> #error NO_CMSG_ALIGN
>>
>>  ^
>>
>> ../lib/socket_wrapper/socket_wrapper.c:3537:31: warning: implicit
>> declaration of function 'CMSG_ALIGN' is invalid in C99
>> [-Wimplicit-function-declaration]
>>
>>                 CMSG_SPACE(cmsg->cmsg_len - CMSG_ALIGN(sizeof(struct cmsghdr)));
>>
>>                                             ^
>>
>> /usr/include/sys/socket.h:517:85: note: expanded from macro 'CMSG_SPACE'
>>
>> #define CMSG_SPACE(l)           (__DARWIN_ALIGN32(sizeof(struct
>> cmsghdr)) + __DARWIN_ALIGN32(l))
>>
>>
>>                       ^
>>
>> /usr/include/i386/_param.h:43:86: note: expanded from macro '__DARWIN_ALIGN32'
>>
>> #define       __DARWIN_ALIGN32(p)       ((__darwin_size_t)((char
>> *)(__darwin_size_t)(p) + __DARWIN_ALIGNBYTES32) &~
>> __DARWIN_ALIGNBYTES32)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> Thanks,
>>
>> Steve
>
>
>
> --
> Thanks,
>
> Steve



-- 
Thanks,

Steve


More information about the samba-technical mailing list