[Samba] compiling Samba4 on Solaris11

Gaiseric Vandal gaiseric.vandal at gmail.com
Wed Dec 21 16:47:55 UTC 2016


I am unable to compile Samba 4.4.7, 4.5.1 or 4.5.3 on Solaris 11.  I had 
been able in the past so maybe an update to GCC broke something.


GCC 4.8 is the default.  I then installed GCC 4.9.  /usr/bin/gcc is a 
symlink to /usr/gcc/4.9/bin/gcc.


I compiled the latest openldap (client only) to the samba target directory.



Set environmental variables so the krb5.h and openldap would be found.



    LDFLAGS="-L /usr/local/samba-4.4.7/lib  -L/usr/lib"
    CFLAGS="-I /usr/local/samba-4.4.7/include  -I/usr/include"
    CPPFLAGS="-I /usr/local/samba-4.4.4/include -I/usr/include"
    export LDFLAGS  CFLAGS CPPFLAGS


    C_INCLUDE_PATH=/usr/local/samba-4.4.7/include:/usr/include:/usr/include/kerberosv5
    CPLUS_INCLUDE_PATH=/usr/local/samba-4.4.7/include:/usr/include:/usr/include/kerberosv5
    export  C_INCLUDE_PATH  CPLUS_INCLUDE_PATH



Path is set as follows to ensure that gnu version of make and ld are found/


     /usr/gcc/4.8/bin:/usr/gnu/bin:/usr/bin:/usr/sbin


I only need samba to be a client, not server.   I would like to force it 
to use MIT Kerberos not Heimdall.    However the "--with-system-mitkrb5" 
option causes configure to break


    # ./configure --prefix=/usr/local/samba-4.4.7v4 --with-ldap
    --without-ad-dc --with-system-mitkrb5

    ....

    Checking for gssapi : yes
    Traceback (most recent call last):
       File "./buildtools/bin/waf", line 76, in <module>
         Scripting.prepare(t, cwd, VERSION, wafdir)
       File
    "/export/src/Samba/samba-4.4.7/third_party/waf/wafadmin/Scripting.py",
    line 145, in prepare
         prepare_impl(t, cwd, ver, wafdir)
       File
    "/export/src/Samba/samba-4.4.7/third_party/waf/wafadmin/Scripting.py",
    line 135, in prepare_impl
         main()
       File "/export/src/Samba/samba-4.4.7/wscript", line 342, in main
         wildcard_main(wildcard_cmd)
       File "./buildtools/wafsamba/samba_wildcard.py", line 110, in
    wildcard_main
         fun(ctx)
       File
    "/export/src/Samba/samba-4.4.7/third_party/waf/wafadmin/Scripting.py",
    line 241, in configure
         conf.sub_config([''])
       File
    "/export/src/Samba/samba-4.4.7/third_party/waf/wafadmin/Configure.py",
    line 237, in sub_config
         self.recurse(k, name='configure')
       File
    "/export/src/Samba/samba-4.4.7/third_party/waf/wafadmin/Utils.py",
    line 656, in recurse
         f(self)
       File "/export/src/Samba/samba-4.4.7/wscript", line 140, in configure
         conf.PROCESS_SEPARATE_RULE('system_mitkrb5')
       File "./buildtools/wafsamba/samba_utils.py", line 636, in
    PROCESS_SEPARATE_RULE
         exec(compile(txt, file_path, 'exec'), dc)
       File
    "/export/src/Samba/samba-4.4.7/wscript_configure_system_mitkrb5",
    line 49, in <module>
         kversion_check = map(int, kversion_split)
    ValueError: invalid literal for int() with base 10: '3)'
      #


If I run

     ./configure --prefix=/usr/local/samba-4.4.7v4 --with-ldap 
--without-ad-dc

the configure succeeds but make eventually fails.

    ld: fatal: symbol referencing errors
    collect2: error: ld returned 1 exit status
    Waf: Leaving directory `/export/src/Samba/samba-4.5.3/bin'
    Build failed:  -> task failed (err #1):
             {task: cc_link popt_common_4.o,nmblookup_6.o -> nmblookup4}
    make: *** [all] Error 1


Python 2.7.9 is installed.


  Appreciate any help.



Thanks








More information about the samba mailing list