Q: how to build with system Heimdal

Uri Simchoni uri at samba.org
Thu Oct 31 19:49:59 UTC 2019


On 31/10/2019 0:50, Christof Schmitt wrote:
> On Tue, Oct 29, 2019 at 04:32:16PM -0700, Christof Schmitt via samba-technical wrote:
>> On Tue, Oct 29, 2019 at 08:06:42PM +0200, Uri Simchoni wrote:
>>> On 29/10/2019 19:18, Christof Schmitt wrote:
>>>> On Fri, Oct 25, 2019 at 12:33:33AM +0300, Uri Simchoni via samba-technical wrote:
>>>>> Hi,
>>>>>
>>>>> How should I build Samba with system heimdal? Should this do the trick:
>>>>> ./configure --with-system-heimdalkrb5 --without-ad-dc
>>>>> make
>>>>>
>>>>> (assuming I have Heimdal installed, of course)
>>>>>
>>>>> I tried this one on master, configure succeeds and the build fails
>>>>> like so (kind of surprising that it tries building system heimdal):
>>>>>
>>>>> waf: Entering directory `/home/vagrant/samba/bin/default'
>>>>>         Selected system Heimdal build
>>>>> [190/192] Compiling source4/heimdal/lib/vers/print_version.c
>>>>> 21:26:51 runner ['/usr/bin/gcc', '-D_SAMBA_BUILD_=4',
>>>>> '-DHAVE_CONFIG_H=1', '-MMD', '-D_GNU_SOURCE=1',
>>>>> '-D_XOPEN_SOURCE_EXTENDED=1', '-DHAVE_CONFIG_H=1', '-fPIC',
>>>>> '-D__STDC_WANT_LIB_EXT1__=1', '-D_REENTRANT',
>>>>> '-fstack-protector-strong',
>>>>> '-DSTATIC_HEIMDAL_VERS_HOSTCC_MODULES=NULL',
>>>>> '-DSTATIC_HEIMDAL_VERS_HOSTCC_MODULES_PROTO=extern void
>>>>> __HEIMDAL_VERS_HOSTCC_dummy_module_proto(void)',
>>>>> '-Isource4/heimdal_build', '-I../../source4/heimdal_build',
>>>>> '-Iinclude/public', '-I../../include/public', '-Isource4',
>>>>> '-I../../source4', '-Ilib', '-I../../lib', '-Isource4/lib',
>>>>> '-I../../source4/lib', '-Isource4/include',
>>>>> '-I../../source4/include', '-Iinclude', '-I../../include',
>>>>> '-Ilib/replace', '-I../../lib/replace', '-I.', '-I../..',
>>>>> '../../source4/heimdal/lib/vers/print_version.c', '-c', '-o/home/vagrant/samba/bin/default/source4/heimdal/lib/vers/print_version.c.1.o']
>>>>> In file included from ../../source4/heimdal_build/roken.h:156:0,
>>>>>                  from ../../source4/heimdal/lib/vers/print_version.c:39:
>>>>> ../../source4/heimdal/lib/roken/roken.h.in:282:10: fatal error:
>>>>> roken-common.h: No such file or directory
>>>>>  #include <roken-common.h>
>>>>>           ^~~~~~~~~~~~~~~~
>>>>> compilation terminated.
>>>>
>>>> This should work, but it broke back with Samba 4.10. The build works
>>>> with Samba 4.9. I am trying to bisect and debug this problem now.
>>>>
>>>> Christof
>>>>
>>>
>>> Oh, thanks! I didn't want to start actually debugging this before
>>> being sure I'm not missing some basic thing. Do note however that
>>> all of waf has been replaced for 4.10, so maybe it's more a matter
>>> of getting this back in shape than bisecting.
>>>
>>> I wanted to push forward another cross-compilation patch that
>>> involves removal of an explicit path of Heimdal headers, so I wanted
>>> to see if that breaks system-heimdal build and then realized it's
>>> broken before the patch.
>>
>> So far it looks like the problem is that the heimdal include files are
>> in /usr/include/heimdal (at least in the Ubuntu 18.04 that i am using
>> for debugging).
>>
>> Deleting source4/heimdal_build/krb5-types.h and adding this line allows
>> the system heimdal build to succeed:
>>
>> --- a/wscript_configure_system_heimdal
>> +++ b/wscript_configure_system_heimdal
>> @@ -18,6 +18,7 @@ if krb5_config:
>>              elif l.startswith("includedir="):
>>                  include_path = l.strip()[len("includedir="):]
>>                  heimdal_includedirs.append(include_path)
>> +                conf.ADD_EXTRA_INCLUDES(include_path)
>>                  conf.define('HEIMDAL_KRB5_TYPES_PATH',
>>                              include_path + "/krb5-types.h")
>>      finally:
>>
>> I am not sure if that is the cleanest solution, maybe someone with more
>> knowledge about waf and the build could provide input.
>>
>> I have not done further testing. Building with the internal heimdal
>> library and MIT would be the next steps. Ideally we would also establish
>> a system heimdal build in gitlab.
> 
> The patches in
> https://gitlab.com/samba-team/devel/samba/commits/christofschmitt-bug-14179
> 
> fix the build, if you want to give it a try. Now i am trying to get
> this running in gitlab and have a problem with the CentOS images.
> 
> Christof
> 

Works for me. Also RB+ me, except for the first one regarding
nettle-devel - I didn't follow all the gnutls/nettle versioning
discussions and I'm sure others can review this better than me.

Thanks!
Uri.



More information about the samba-technical mailing list